我已经配置了SpringBatch-Admin-Console来启动和查看我们在应用程序中使用的作业。
当我从应用程序的控制台启动作业时,作业完成,我可以按预期在控制台中查看作业的状态。
Property Value ID 449 Job Name analyzeJob Job Instance 449 Job Parameters time=03-02-2013 17\:58\:13.54 Start Date 2013-02-03 Start Time 17:58:16 Duration 00:00:09 Status COMPLETED Exit Code COMPLETED Step Executions Count 3 Step Executions [processHeaderStep,inDBScanStep,inMemoryScanStep]
但是当我从SpringBatch管理控制台启动作业时,作业按预期完成,但当我尝试在控制台中查看作业的状态时,我收到以下错误消息。
“HTTP状态500 - 请求处理失败;嵌套异常是com.thoughtworks.xstream.converters.ConversionException:id:id:id:id ----调试信息----消息:id:id cause-exception :com.thoughtworks.xstream.mapper.CannotResolveClassException cause-message:id:id类:java.util.HashMap required-type:java.util.HashMap path:/map/entry[3]/masterdata.analyzer.metadata.Metadata /hubCodeTables/masterdata.analyzer.metadata.MHubCodeTable/codeValueMap/entry[7]/id行号:-1 -------------------------- ----- “
我认为异常可能发生,因为我的应用程序能够使用JAVA_HOME中的类java.util.Hashmap
,而tomcat中的SpringBatch-Admin-War无法使用相同的。{/ p>
所以我甚至创建了一个包含所有Java类文件(包括java.util.HashMap
)的jar文件,并包含在SpringBatch-Admin-Console的LIB文件夹中,但我仍然遇到同样的错误。
我还确保我的应用程序中所有必需的LIB文件也存在于SpringBatch-Admin的LIB文件夹中。仍然有同样的错误。
奇怪的行为是我能够启动作业,如果我从外部启动它,我也可以查看作业,但只有当我从SpringBatch-Admin-Console启动时才会出现此错误。
有人可以告诉我为什么会出现这个错误吗?
答案 0 :(得分:2)
在重新启动作业之前删除批处理表。
答案 1 :(得分:1)
由于spring-batch在同一个表中存储了具有相同参数的作业的所有执行,如果不删除这些条目,即使已经解决了错误,也可能会立即获得先前的错误。
因此,请确保在再次执行(重新启动)作业之前删除批处理表。