我已经配置 SpringBatch-Admin-Console 来启动和查看我们在应用程序中使用的作业。
当我从应用程序的控制台启动作业时,作业完成,并且我能够按预期在控制台中查看作业的状态。
适当的价值 编号 449 职位名称analyzeJob 作业实例 449 作业参数时间=03-02-2013 17\:58\:13.54 开始日期 2013-02-03 开始时间 17:58:16 持续时间 00:00:09 状态已完成 退出代码已完成 步骤执行计数 3 步骤执行 [processHeaderStep,inDBScanStep,inMemoryScanStep]
但是当我从 SpringBatch 管理控制台启动作业时,作业按预期完成,但是当我尝试在控制台中查看作业的状态时,我收到以下错误消息。
“HTTP 状态 500 - 请求处理失败;嵌套异常是 com.thoughtworks.xstream.converters.ConversionException: id : id : id : id ---- 调试信息 ---- 消息 : id : id 原因异常 : com。 thinkworks.xstream.mapper.CannotResolveClassException 原因消息:id:id 类:java.util.HashMap 所需类型:java.util.HashMap 路径:/map/entry[3]/masterdata.analyzer.metadata.Metadata/hubCodeTables/ masterdata.analyzer.metadata.MHubCodeTable/codeValueMap/entry[7]/id 行号:-1 ----------------------------- ——”
我认为可能会发生异常,因为我的应用程序能够使用java.util.Hashmap
JAVA_HOME 中的类,而 tomcat 中的 SpringBatch-Admin-War 不能使用相同的类。
所以我什至创建了一个包含所有 Java 类文件(包括java.util.HashMap
)的 jar 文件,并包含在这个 SpringBatch-Admin-Console 的 LIB 文件夹中,但我仍然遇到同样的错误。
我还确保我的应用程序中所有必需的 LIB 文件也存在于 SpringBatch-Admin 的 LIB 文件夹中。仍然得到同样的错误。
奇怪的行为是我能够启动该作业,并且如果我从外部启动它,我也能够查看该作业,但只有当我从 SpringBatch-Admin-Console 启动时才会出现此错误。
谁能告诉我为什么会发生这个错误?