用于JobExecution的NPE#getJobName

时间:2016-08-22 08:40:27

标签: batch-processing jberet

在我的应用程序中,我使用JBeret实现进行批处理。

当试图检索作业的正在运行的执行但我得到了NPE时:

堆栈跟踪:

  

引起:java.lang.NullPointerException           在org.jberet.runtime.JobExecutionImpl.getJobName(JobExecutionImpl.java:141)           在org.jberet.operations.JobOperatorImpl.getRunningExecutions(JobOperatorImpl.java:157)           在ch.adnovum.monexio.server.batch.rs.BatchOperatorServiceBean.getRunningJobIds(BatchOperatorServiceBean.java:143)           at ch.adnovum.monexio.server.batch.rs.BatchOperatorServiceBean.assertAtomicJob(BatchOperatorServiceBean.java:94)           在ch.adnovum.monexio.server.batch.rs.BatchOperatorServiceBean.start(BatchOperatorServiceBean.java:54)

供您参考的代码:http://grepcode.com/file/repo1.maven.org/maven2/org.jberet/jberet-core/1.0.1.CR1/org/jberet/operations/JobOperatorImpl.java#JobOperatorImpl.getRunningExecutions%28java.lang.String%29

我检查了JBeret存储作业信息的数据库,据我所知,每个执行附加到有效实例。

enter image description here

有没有人遇到过同样的问题?

1 个答案:

答案 0 :(得分:-1)

有关更多讨论和答案,请参阅JBeret项目问题页面https://github.com/jberet/jsr352/issues/81

只有WildFly 8.2.0.Final和旧版本的JBeret才会出现此问题。在从db中反编译作业执行数据时看起来有些问题。

如果其他人也遇到此问题,请升级到更新版本的WildFly和JBeret。