我們有一個對象CollectedInfo
,它包含一個Hashtable
。在我們的應用程序中,我們填充這個Hashtable
,然後迭代它來執行插入操作。不同的線程同時使用來執行此操作。調用get方法時java.util.Hashtable的AbstractMethodError
從Hashtable
中檢索值時,我們看到AbstractMethodError
例外,顯示來自get方法Hashtable
的跟蹤。一旦這個異常來了Java應用程序崩潰。
我們無法重現該異常,但是我們可以在一段時間內非常一致地在應用程序中看到相同的行爲。
下面是跟蹤:
SYS_ERR: Exception running task: java.lang.AbstractMethodError
SYS_ERR: java.lang.AbstractMethodError
SYS_ERR: at java.util.Hashtable.get(Unknown Source)
SYS_ERR: at poll.CollectedInfo.getValuesForColumn(CollectedInfo.java:1026)
SYS_ERR: at poll.YYYMgr.saveData(YYYMgr.java:5346)
SYS_ERR: at poll.YYYMgr.saveData(YYYMgr.java:2412)
SYS_ERR: at poll.YYYMgr.saveData(YYYMgr.java:2250)
SYS_ERR: at poll.CommonPollAPI.saveData(CommonPollAPI.java:579)
SYS_ERR: at poll.XXXXData.run(XXXXData.java:76)
SYS_ERR: at management.scheduler.WorkerThread.run(WorkerThread.java:70)
我們使用的是JRE 1.6.0,並在這個問題重現OS是Linux的紅帽企業Linux服務器版本5.6 Beta版(Tikanga)。
您需要顯示一些代碼 –
在其他系統上運行時是否看到相同的問題?因爲http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/AbstractMethodError.html是這個錯誤是由於調用抽象方法或'某些類的定義已經發生了不可比擬的變化當前正在執行的方法最後編譯' –
@SeanPatrickFloyd將信息加載到CollectedInfo對象中的類是不同的,該類用於收集數據並將其添加到此Object中,然後最終將其傳遞給YYMgr.saveData方法。這裏迭代完成並且值保存在數據庫中。有多個由單個線程調用的CollectedInfo對象實例,這些實例收集數據然後將其保存到DB – Ayush