У нас есть объект CollectedInfo
, который содержит Hashtable
. В нашем приложении мы заполняем это Hashtable
, а затем перебираем его для выполнения операций вставки. Различные потоки, используемые одновременно для выполнения этой операции.AbstractMethodError из java.util.Hashtable при вызове метода get
При извлечении значения из 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 и ОС, где эта проблема является воспроизвести в Linux Red Hat Enterprise Linux Server релиз 5.6 Beta (Tikanga).
. Вам нужно указать код. –
Вы видите ту же проблему при работе в других системах? Поскольку http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/AbstractMethodError.html заключается в том, что эта ошибка возникает из-за вызова абстрактного метода или «определение какого-либо класса несовместимо изменилось с тех пор текущий исполняемый метод был последний скомпилирован ' –
@SeanPatrickFloyd Класс, который загружает информацию в объект CollectedInfo, отличается, этот класс используется для сбора данных и добавления его в этот объект, а затем, наконец, передать его методу YYMgr.saveData. Здесь выполняется итерация, и значения сохраняются в БД. Существует несколько экземпляров объекта CollectedInfo, вызываемых отдельным потоком, которые собирают данные, а затем сохраняют их в DB – Ayush