gpt4 book ai didi

java.util.concurrent.ExecutionException : java. lang.NullPointerException 错误

转载 作者:搜寻专家 更新时间:2023-11-01 02:47:17 24 4
gpt4 key购买 nike

以下代码片段在独立模式下执行时不会抛出任何错误。当我将其部署到 Web 服务器中时 [实现服务器的接口(interface)并作为 JAR 添加到类路径中],我得到了

 java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at com.nbis.process.JSON_2_File_Split_V004.fn_1_parserEntity(JSON_2_File_Split_V004.java:256)
at com.nbis.process.JSON_2_File_Split_V004.fn_0_primaryCaller(JSON_2_File_Split_V004.java:177)
at com.nbis.process.JSON_2_File_Split_V004.execute(JSON_2_File_Split_V004.java:151)

代码片段:

this.callable = new JSON_3_File_Process_V005(this.originalFileName, this.inProgressDirLoc, this.processedDirLoc, "[" + jSONRecord.toString() + "]", this.dataMDHolder, this.dataAccIDValueMap, this.dataCountryNameValueMap);
String[] fullContent = null;
try {
fullContent = executor.submit(this.callable).get();
} catch (ExecutionException e) {
StringWriter errors = new StringWriter();
e.printStackTrace(new PrintWriter(errors));
log.info("Srii: " + errors.toString());
executor.shutdown();
return 7;
}

将 get 的返回值添加到 ExecutorCompletionService 是一种选择,但这不会扼杀异步处理的概念吗?换句话说,我在 StringBuilder 中收集可调用 get 的输出字符串,并在 get 计数达到特定数字时存储到磁盘。一旦数据发送到磁盘,我就刷新 StringBuilder。这样我就可以定期将数据推送到磁盘,而不必将它们保存在内存中。

关于我在这里做错了什么有什么建议吗?感谢任何输入。谢谢。

最佳答案

这是固定的。如果它有用:

问题在于声明变量的方式。我必须将一个类级变量声明为静态变量,这样应用到这个变量的任何更改都开始反射(reflect)到其他地方。奇怪的是,当它独立执行时我没有看到问题。

EDIT on 13112019: Moving my comment to the answer section, on request:

由于年代久远,我不记得确切的变量细节。但我相信它是以下之一: this.originalFileName, this.inProgressDirLoc, this.processedDirLoc , this.dataMDHolder, this.dataAccIDValueMap, this.dataCountryNameValueMap 我不得不将它们设置为静态值,因为值由任何该成员在引用类中的变量时没有反射(reflect)。

关于java.util.concurrent.ExecutionException : java. lang.NullPointerException 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19229947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com