Giter Club home page Giter Club logo

aliyun-log-java-sdk's Introduction

log service java sdk

java sdk 是对所有log service 提供的API的封装,通过该sdk,可以调用所有log service。部分API文档请参考文档中心

注意

  1. 为了提高您系统的 IO 效率,请尽量不要直接使用 SDK 往日志服务中写数据,写数据标准做法参考文章 Aliyun LOG Java Producer 快速入门
  2. 要消费日志服务中的数据,请尽量不要直接使用SDK的拉数据接口,我们提供了一个高级消费库 Consumer Library,该库屏蔽了日志服务的实现细节,并且提供了负载均衡、按序消费等高级功能。

sample 1 : 构建client


String accessId = "your_access_id";
String accessKey = "your_access_key";
String host = "your_endpoint";
Client client = new Client(host, accessId, accessKey);

sample 2 : 创建Logstore


String project = "your_project_name";
String logstore = "your_logstore";
int ttl_in_day = 3;
int shard_count = 10;
LogStore store = new LogStore(logstore, ttl_in_day, shard_count);
CreateLogStoreResponse res = client.CreateLogStore(project, store);

sample 3 : 写数据


int numLogGroup = 10;
/**
 * 向log service发送一个日志包,每个日志包中,有2行日志
 */
for (int i = 0; i < numLogGroup; i++) {
    List<LogItem> logGroup = new ArrayList<LogItem>();
    LogItem logItem = new LogItem((int) (new Date().getTime() / 1000));
    logItem.PushBack("level", "info");
    logItem.PushBack("name", String.valueOf(i));
    logItem.PushBack("message", "it's a test message");

    logGroup.add(logItem);

    LogItem logItem2 = new LogItem((int) (new Date().getTime() / 1000));
    logItem2.PushBack("level", "error");
    logItem2.PushBack("name", String.valueOf(i));
    logItem2.PushBack("message", "it's a test message");
    logGroup.add(logItem2);

    try {
        client.PutLogs(project, logStore, topic, logGroup, "");
    } catch (LogException e) {
        System.out.println("error code :" + e.GetErrorCode());
        System.out.println("error message :" + e.GetErrorMessage());
        System.out.println("error requestId :" + e.GetRequestId());
        throw e;
    }

}

sample 4 : 读取数据


int shardId = 0;  // 只读取0号shard的数据
GetCursorResponse res;
try {
    // 获取最近1个小时接收到的第一批日志的cursor位置
    long fromTime = (int)(System.currentTimeMillis()/1000.0 - 3600);
    res = client.GetCursor(project, logStore, shardId, fromTime);
    System.out.println("shard_id:" + shardId + " Cursor:" + res.GetCursor());
} catch (LogException e) {
    e.printStackTrace();
}

String cursor = res.GetCursor();
while(true) {
    BatchGetLogResponse logDataRes = client.BatchGetLog(
    project, logStore, shardId, 100, cursor);
    // 读取到的数据
    List<LogGroupData> logGroups = logDataRes.GetLogGroups();

    String nextCursor = logDataRes.GetNextCursor();  // 下次读取的位置
    System.out.print("The Next cursor:" + nextCursor);
    if (cursor.equals(nextCursor)) {
        break;
    }
    cursor = nextCursor;
}

Maven配置

<dependency>
    <groupId>com.aliyun.openservices</groupId>
    <artifactId>aliyun-log</artifactId>
    <version>0.6.97</version>
</dependency>

protobuf 冲突

可以使用 Aliyun LOG java SDK 提供的一个特殊版本

<dependency>
    <groupId>com.aliyun.openservices</groupId>
    <artifactId>aliyun-log</artifactId>
    <version>0.6.97</version>
    <classifier>jar-with-dependencies</classifier>
    <exclusions>
        <exclusion>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
        </exclusion>
    </exclusions>
</dependency>

FAQ

Q: aliyun-log-java-sdkaliyun-sls-xxx-inner 版本冲突的问题及解决方案。

A: 这两个 jar 包不能共存于一个项目中,如果您发现您依赖的某个 jar 包引入了 aliyun-sls-xxx-inner,请手动排除。

<dependency>
  <groupId>groupId1</groupId>
  <artifactId>artifactId1</artifactId>
  <version>version1</version>
  <exclusions>
    <exclusion>
      <groupId>com.aliyun.openservices</groupId>
      <artifactId>aliyun-sls-xxx-inner</artifactId>
    </exclusion>
  </exclusions>
</dependency>

aliyun-log-java-sdk's People

Contributors

brucewu-fly avatar chaolee50 avatar crimson-gao avatar guhanjie avatar gushan1mu avatar hiddenbomb avatar liketic avatar mayunlei avatar mr-xzz avatar neverafraid1 avatar oktfolio avatar panawala avatar perezyuan avatar shabicheng avatar tangkai1719 avatar wangkaibo34 avatar wenhui-prudencemed avatar zrz2233 avatar zzboy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aliyun-log-java-sdk's Issues

limitation of put log is incorrect

228 public static int CONST_MAX_PUT_SIZE = 50 * 1024 * 1024;
229 public static int CONST_MAX_PUT_LINES = 40960;

which should be 5MB. for the lines it's fine.

The regex to match IP address is incorrect

The pattern Pattern.compile("^(\\d{1,3}\\.){3}\\d{1,3}"); will be used to check if a string is an IP address. However, The regex ^(\\d{1,3}\\.){3}\\d{1,3} cannot match an invalid IP addresses. For example 123.123.123.123.

PullLogsResponse中的parseLogGroupsIfNeeded无法触发

按官方文档使用flink获取sls时遇到一些问题,
获取的LogGroupData数据总是为空,
看源码debug时有一些疑问。
flink设置数据源代码部分如下:

    RawLogGroupListDeserializer deserializer = new RawLogGroupListDeserializer();
    FlinkLogConsumer<RawLogGroupList> flinkLogConsumer = new FlinkLogConsumer<>(deserializer, configProps);
    DataStreamSource<RawLogGroupList> dataStreamSource =
            streamExecutionEnvironment.addSource(flinkLogConsumer);

aliyun-log 0.6.39中的com.aliyun.openservices.log.response.PullLogsResponse部分代码,构造函数如下:

public PullLogsResponse(Map<String, String> headers) {
    super(headers);
    this.logGroups = new ArrayList();
}

public PullLogsResponse(Map<String, String> headers, byte[] rawData) throws LogException {
    this(headers);
    this.rawData = rawData;

    try {
        this.rawSize = Integer.parseInt((String)headers.get("x-log-bodyrawsize"));
        this.count = Integer.parseInt(this.GetHeader("x-log-count"));
    } catch (NumberFormatException var4) {
        throw new LogException("ParseLogGroupListRawSizeError", var4.getMessage(), var4, this.GetRequestId());
    }
}

parseLogGroupsIfNeeded()函数如下:

private void parseLogGroupsIfNeeded() throws LogException {
    if (this.logGroups == null) {
        this.logGroups = new ArrayList();
        if (this.rawSize > 0) {
            byte[] uncompressedData = LZ4Encoder.decompressFromLhLz4Chunk(this.rawData, this.rawSize);
            this.parseFastLogGroupList(uncompressedData);
        }

        if (this.logGroups.size() != this.count) {
            throw new LogException("LogGroupCountNotMatch", "LogGroup count does match with the count in header message", this.GetRequestId());
        }
    }
}

不考虑反射时,在使用构造函数初始化后this.logGroups总是不会为null,这个属性也是只读属性,那么this.logGroups就会总是为空,也没有其他地方可以修改,就无法正确获取数据。而aliyun-log 0.6.38中没有这个新增的lazy加载函数,功能能如期运行正确获取到数据。

The 'line' does not work when 'query' cotains '| select ....'

eg:
int log_offset = 0;
int log_line = 10;
String query = " key=value1 | select id,key ";
Client logtailClient = new Client(endpoint, accessKeyId, accessKeySecret);
GetLogsRequest logsRequest = new GetLogsRequest(project, logstore, from, to, "", query, log_offset, log_line, true);
GetLogsResponse logsResponse = logtailClient.GetLogs(logsRequest);
int count = logsResponse.GetCount();

If the total count of the logs >= 100, the value of count will be 100 rather than 10.
but the String query = " key=value | select id,key limit 0,10 "; works.
May it be a bug?

Dependency org.apache.httpcomponents:httpclient, leading to CVE problem

Hi, there is a dependency org.apache.httpcomponents:httpclient:4.5.1 that calls the risk method.

CVE-2020-13956

The scope of this CVE affected version is [,4.5.13)

After further analysis, in this project, the main Api called is org.apache.http.client.utils.URIUtils: extractHost(java.net.URI)Lorg.apache.http.HttpHost

Risk method repair link : GitHub

CVE Bug Invocation Path--

Path Length : 4

com.aliyun.openservices.log.http.comm.TimeoutServiceClient$HttpRequestTask:call()Lorg.apache.http.client.methods.CloseableHttpResponse; .m2/repository/org/apache/httpcomponents/httpclient/4.5.1/httpclient-4.5.1.jar
org.apache.http.impl.client.CloseableHttpClient:execute(org.apache.http.client.methods.HttpUriRequest,org.apache.http.protocol.HttpContext)Lorg.apache.http.client.methods.CloseableHttpResponse;.m2/repository/org/apache/httpcomponents/httpclient/4.5.1/httpclient-4.5.1.jar
org.apache.http.impl.client.CloseableHttpClient:determineTarget(org.apache.http.client.methods.HttpUriRequest)Lorg.apache.http.HttpHost; .m2/repository/org/apache/httpcomponents/httpclient/4.5.1/httpclient-4.5.1.jar
org.apache.http.client.utils.URIUtils: extractHost(java.net.URI)Lorg.apache.http.HttpHost;

Dependency tree--

[INFO] com.aliyun.openservices:aliyun-log:jar:0.6.75
[INFO] +- junit:junit:jar:4.10:test
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.1:test
[INFO] +- com.alibaba:fastjson:jar:1.2.83_noneautotype:compile
[INFO] +- com.google.protobuf:protobuf-java:jar:2.5.0:compile
[INFO] +- net.jpountz.lz4:lz4:jar:1.3.0:compile
[INFO] \- org.apache.httpcomponents:httpclient:jar:4.5.1:compile
[INFO]    +- org.apache.httpcomponents:httpcore:jar:4.4.3:compile
[INFO]    +- commons-logging:commons-logging:jar:1.2:compile
[INFO]    \- commons-codec:commons-codec:jar:1.9:compile

Suggested solutions:

Update dependency version

Thank you very much.

Migrate fastjson to net.sf.json

Currently, we using both fastjson and net.sf.json library to parse and render JSON representation of object. And most cases are using net.sf.json.

Unable to specify if include Chinese when creating index

The create index API support specify whether include Chinese or not through the parameter chn in keys and line. However, the class IndexKey and IndexLine didn't expose this field to user.

	public JSONObject ToRequestJson() {
		JSONObject allKeys = new JSONObject();
		JSONArray tokenDict = new JSONArray();
		for (String v:token) {
			tokenDict.add(v);
		}
		
		allKeys.put("type", GetType());
		// only text type require token & caseSensitive
		if (GetType().equals("text")) {
			allKeys.put("token", tokenDict);
			allKeys.put("caseSensitive", GetCaseSensitive());
		}

		allKeys.put("chn", true);

		allKeys.put("doc_value", IsDocValue());
		allKeys.put("alias", getAlias());
		return allKeys;
	}

Here I can add a chn to the request JSON and seems like it works.

close经常关不掉并导致JVM无法退出。

程序结束时调用Producer.close()会在退出JVM前产生以下问题,并且哪怕没有发送任何日志也会这样。

[WARNING] thread Thread[pool-3-thread-1,5,edu.buaa.server.TGraphKernelTcpServer] was interrupted but is still alive after waiting at least 15000msecs
[WARNING] thread Thread[pool-3-thread-1,5,edu.buaa.server.TGraphKernelTcpServer] will linger despite being asked to die via interruption
[WARNING] thread Thread[pool-4-thread-1,5,edu.buaa.server.TGraphKernelTcpServer] will linger despite being asked to die via interruption
[WARNING] NOTE: 2 thread(s) did not finish despite being asked to  via interruption. This is not a problem with exec:java, it is a problem with the running code. Although not serious, it should be remedied.
[WARNING] Couldn't destroy threadgroup org.codehaus.mojo.exec.ExecJavaMojo$IsolatedThreadGroup[name=edu.buaa.server.TGraphKernelTcpServer,maxpri=10]
java.lang.IllegalThreadStateException
        at java.lang.ThreadGroup.destroy(ThreadGroup.java:778)
        at org.codehaus.mojo.exec.ExecJavaMojo.execute(ExecJavaMojo.java:321)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

maven引用如下:

<dependency>
            <groupId>com.aliyun.openservices</groupId>
            <artifactId>aliyun-log-producer</artifactId>
            <version>0.3.0</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun.openservices</groupId>
            <artifactId>aliyun-log</artifactId>
            <version>0.6.33</version>
        </dependency>
        <dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
            <version>2.5.0</version>
        </dependency>

集成到android中与Android framework中的httpclient库有冲突

java.lang.NoSuchFieldError: No static field INSTANCE of type Lorg/apache/http/conn/ssl/AllowAllHostnameVerifier; in class Lorg/apache/http/conn/ssl/AllowAllHostnameVerifier; or its superclasses (declaration of 'org.apache.http.conn.ssl.AllowAllHostnameVerifier' appears in /system/framework/framework.jar!classes3.dex)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.(SSLConnectionSocketFactory.java:144)
at com.aliyun.openservices.log.http.comm.DefaultServiceClient.createHttpClientConnectionManager(DefaultServiceClient.java:188)
at com.aliyun.openservices.log.http.comm.DefaultServiceClient.(DefaultServiceClient.java:81)
at com.aliyun.openservices.log.Client.(Client.java:229)
at com.aliyun.openservices.log.Client.(Client.java:190)
at com.dragonforest.yidui.apmassistant.base.network.AliyunApiSDKManager.getClient(AliyunApiSDKManager.kt:17)
at com.dragonforest.yidui.apmassistant.base.network.AliyunApiSDKManager.executeQuery(AliyunApiSDKManager.kt:25)
at com.dragonforest.yidui.apmassistant.base.network.AliyunApiSDKManager.executeQuerStringList(AliyunApiSDKManager.kt:54)
at com.dragonforest.yidui.apmassistant.operations.StartupOperation.queryRecentCodeTags(StartupOperation.kt:84)
at com.dragonforest.yidui.apmassistant.operations.StartupOperation.queryRecentCodeTagsByDay(StartupOperation.kt:50)
at com.dragonforest.yidui.apmassistant.ui.repository.CommonRepository.getRecentCodeTags(CommonRepository.kt:15)
at com.dragonforest.yidui.apmassistant.ui.page.CrashReportActivity.createReportMsg(CrashReportActivity.kt:103)
at com.dragonforest.yidui.apmassistant.ui.page.CrashReportActivity.access$createReportMsg(CrashReportActivity.kt:18)
at com.dragonforest.yidui.apmassistant.ui.page.CrashReportActivity$initView$4.onClick(CrashReportActivity.kt:86)
at android.view.View.performClick(View.java:7377)
at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:967)
at android.view.View.performClickInternal(View.java:7339)
at android.view.View.access$3900(View.java:823)
at android.view.View$PerformClick.run(View.java:28261)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:238)
at android.app.ActivityThread.main(ActivityThread.java:7874)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:983)

License Question

Hello,

I want to know the license of aliyun-log-java-sdk support Apache License 2.0

print long log(more than 200M), memory leak happens.

below is the img;
image

below is the thread stack:

at sun.misc.Unsafe.park(ZJ)V (Native Method)
at java.util.concurrent.locks.LockSupport.park(Ljava/lang/Object;)V (LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt()Z (AbstractQueuedSynchronizer.java:836)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(I)V (AbstractQueuedSynchronizer.java:967)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(I)V (AbstractQueuedSynchronizer.java:1283)
at java.util.concurrent.Semaphore.acquireUninterruptibly(I)V (Semaphore.java:494)
at com.aliyun.openservices.log.producer.inner.PackageManager.acquireBytes(I)V (PackageManager.java:53)
at com.aliyun.openservices.log.producer.inner.PackageManager.doAdd(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lcom/aliyun/openservices/log/producer/ILogCallback;)V (PackageManager.java:155)
at com.aliyun.openservices.log.producer.inner.PackageManager.add(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lcom/aliyun/openservices/log/producer/ILogCallback;)V (PackageManager.java:121)
at com.aliyun.openservices.log.producer.LogProducer.send(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lcom/aliyun/openservices/log/producer/ILogCallback;)V (LogProducer.java:38)
at com.aliyun.openservices.log.logback.LoghubAppender.appendEvent(Ljava/lang/Object;)V (LoghubAppender.java:130)
at com.aliyun.openservices.log.logback.LoghubAppender.append(Ljava/lang/Object;)V (LoghubAppender.java:88)
at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(Ljava/lang/Object;)V (UnsynchronizedAppenderBase.java:84)
at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(Ljava/lang/Object;)I (AppenderAttachableImpl.java:51)
at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Lch/qos/logback/classic/spi/ILoggingEvent;)I (Logger.java:270)
at ch.qos.logback.classic.Logger.callAppenders(Lch/qos/logback/classic/spi/ILoggingEvent;)V (Logger.java:257)
at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Ljava/lang/String;Lorg/slf4j/Marker;Lch/qos/logback/classic/Level;Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V (Logger.java:421)
at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Ljava/lang/String;Lorg/slf4j/Marker;Lch/qos/logback/classic/Level;Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V (Logger.java:383)
at ch.qos.logback.classic.Logger.error(Ljava/lang/String;[Ljava/lang/Object;)V (Logger.java:534)

不支持Quarkus native build

项目中引入SLS SDK,调用Client.PutLogs方法后,Quarkus Native build失败。
Quarkus版本:2.10.1.Final
GraalVM版本:22
环境:Linux (amd64), macOS (arm64) 均报同样的错误

报错:

[INFO] --- quarkus-maven-plugin:2.10.1.Final:build (default) @ getting-started ---
[INFO] [io.quarkus.deployment.pkg.steps.JarResultBuildStep] Building native image source jar: /Users/serenity/Workspace/Quarkus/getting-started-sls-native/target/getting-started-1.0.0-SNAPSHOT-native-image-source-jar/getting-started-1.0.0-SNAPSHOT-runner.jar
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Building native image from /Users/serenity/Workspace/Quarkus/getting-started-sls-native/target/getting-started-1.0.0-SNAPSHOT-native-image-source-jar/getting-started-1.0.0-SNAPSHOT-runner.jar
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Running Quarkus native-image plugin on GraalVM 22.1.0 Java 11 CE (Java Version 11.0.15+10-jvmci-22.1-b06)
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildRunner] /Library/Java/JavaVirtualMachines/graalvm-ce-java11-22.1.0/Contents/Home/bin/native-image -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -J-Dsun.nio.ch.maxUpdateArraySize=100 -J-Dio.netty.leakDetection.level=DISABLED -J-Dio.netty.allocator.maxOrder=3 -J-Dvertx.logger-delegate-factory-class-name=io.quarkus.vertx.core.runtime.VertxLogDelegateFactory -J-Dvertx.disableDnsResolver=true -J-Duser.language=en -J-Duser.country=CN -J-Dfile.encoding=UTF-8 -H:-ParseOnce -J--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED -J--add-opens=java.base/java.text=ALL-UNNAMED -H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy\$BySpaceAndTime -H:+JNI -H:+AllowFoldMethods -J-Djava.awt.headless=true -H:FallbackThreshold=0 --link-at-build-time -H:+ReportExceptionStackTraces -H:-AddAllCharsets -H:EnableURLProtocols=http -H:-UseServiceLoaderFeature -H:+StackTrace getting-started-1.0.0-SNAPSHOT-runner -jar getting-started-1.0.0-SNAPSHOT-runner.jar
================================================================================
GraalVM Native Image: Generating 'getting-started-1.0.0-SNAPSHOT-runner' (executable)...
================================================================================
[1/7] Initializing...                                            (5.3s @ 0.12GB)
 Version info: 'GraalVM 22.1.0 Java 11 CE'
 C compiler: cc (apple, arm64, 13.1.6)
 Garbage collector: Serial GC
 3 user-provided feature(s)
  - io.quarkus.runner.AutoFeature
  - io.quarkus.runtime.graal.DisableLoggingAutoFeature
  - io.quarkus.runtime.graal.ResourcesFeature
[2/7] Performing analysis...  [*]                                (5.1s @ 1.29GB)
   8,328 (88.03%) of  9,460 classes reachable
  12,503 (59.66%) of 20,958 fields reachable
  40,867 (65.84%) of 62,066 methods reachable
     252 classes,    10 fields, and   564 methods registered for reflection

Fatal error: org.graalvm.compiler.debug.GraalError: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: No instances of java.io.FilePermission are allowed in the image heap as this class should be initialized at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.io.FilePermission.
	at com.oracle.graal.pointsto.util.AnalysisFuture.setException(AnalysisFuture.java:49)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:269)
	at com.oracle.graal.pointsto.util.AnalysisFuture.ensureDone(AnalysisFuture.java:63)
	at com.oracle.graal.pointsto.heap.ImageHeapScanner.lambda$postTask$9(ImageHeapScanner.java:611)
	at com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:193)
	at com.oracle.graal.pointsto.util.CompletionExecutor.lambda$executeService$0(CompletionExecutor.java:177)
	at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
Caused by: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: No instances of java.io.FilePermission are allowed in the image heap as this class should be initialized at image runtime. To see how this object got instantiated use --trace-object-instantiation=java.io.FilePermission.
	at com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.checkImageHeapInstance(ClassInitializationFeature.java:135)
	at com.oracle.graal.pointsto.meta.AnalysisUniverse.replaceObject(AnalysisUniverse.java:582)
	at com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.replaceObject(AnalysisConstantReflectionProvider.java:257)
	at com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.interceptValue(AnalysisConstantReflectionProvider.java:228)
	at com.oracle.svm.hosted.heap.SVMImageHeapScanner.transformFieldValue(SVMImageHeapScanner.java:126)
	at com.oracle.graal.pointsto.heap.ImageHeapScanner.onFieldValueReachable(ImageHeapScanner.java:331)
	at com.oracle.graal.pointsto.heap.ImageHeapScanner.lambda$createImageHeapObject$3(ImageHeapScanner.java:272)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	... 10 more
--------------------------------------------------------------------------------
    0.5s (4.8% of total time) in 18 GCs | Peak RSS: 2.50GB | CPU load: 4.67
================================================================================
Failed generating 'getting-started-1.0.0-SNAPSHOT-runner' after 10.6s.
Error: Image build request failed with exit status 1
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  15.908 s
[INFO] Finished at: 2022-07-05T09:24:53+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:2.10.1.Final:build (default) on project getting-started: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR] 	[error]: Build step io.quarkus.deployment.pkg.steps.NativeImageBuildStep#build threw an exception: io.quarkus.deployment.pkg.steps.NativeImageBuildStep$ImageGenerationFailureException: Image generation failed. Exit code: 1
[ERROR] 	at io.quarkus.deployment.pkg.steps.NativeImageBuildStep.imageGenerationFailed(NativeImageBuildStep.java:400)
[ERROR] 	at io.quarkus.deployment.pkg.steps.NativeImageBuildStep.build(NativeImageBuildStep.java:240)
[ERROR] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[ERROR] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR] 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[ERROR] 	at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:944)
[ERROR] 	at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
[ERROR] 	at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
[ERROR] 	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
[ERROR] 	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
[ERROR] 	at java.base/java.lang.Thread.run(Thread.java:829)
[ERROR] 	at org.jboss.threads.JBossThread.run(JBossThread.java:501)
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Vulnerable fastjson dependency

您好,在pom中发现了有漏洞版本的fastjson依赖,请问可以升级一下吗?
谢谢

com.alibaba fastjson 1.2.71

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.