2013-02-03 42 views
1

我配置了SpringBatch-Admin-Console來啓動和查看我們在應用程序中使用的作業。Spring批處理管理控制檯 - com.thoughtworks.xstream.mapper.CannotResolveClassException「class:java.util.HashMap」

當我從應用程序的控制檯啓動作業時,作業完成,並且能夠按預期的方式在控制檯中查看作業的狀態。

 
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 ----調試信息---- message:id:id cause-異常:com.thoughtworks.xstream.mapper.CannotResolveClassException原因消息:id:id類:java.util.HashMap required-type:java.util.HashMap路徑:/map/entry[3]/masterdata.analyzer.metadata。元數據/ hubCodeTables/masterdata.analyzer.metadata.MHubCodeTable/codeValueMap/entry [7]/id行號:-1 ------------------------- ------ 「

我以爲可能會發生異常,因爲我的應用程序能夠使用JAVA_HOME中的類java.util.Hashmap而Tomcat中的SpringBatch-Admin-War不能使用相同的。

所以我甚至創建了一個包含所有Java類文件(包括java.util.HashMap)幷包含在此SpringBatch-Admin-Console的LIB文件夾內的jar文件,但我仍然遇到了同樣的錯誤。

我也確保我的應用程序中所有需要的LIB文件都存在於SpringBatch-Admin的LIB文件夾中。仍然有同樣的錯誤。

奇怪的行爲是我能夠啓動工作,並且如果從外部啓動它,我也能查看該作業,但只有從SpringBatch-Admin-Console啓動時纔會出現此錯誤。

任何人都可以告訴我爲什麼會出現這個錯誤?

回答

1

重新開始作業前刪除批處理表。

1

由於spring-batch會將具有相同參數的作業的所有執行存儲在同一個表中,因此,如果不刪除這些條目,即使您已解決錯誤,也可能會得到以前的錯誤。

因此,請確保在再次執行(重新啓動)作業之前刪除批處理表。