我的JBoss AS7在启动期间由于HornetQ日志文件损坏而失败,并显示NullPointerException
。如果我手动删除文件,服务器将启动,但可能会导致数据丢失。
我想避免这次手动清理造成的数据丢失,并找到一些修复/恢复的解决方案,同时将数据丢失的风险降到最低。
11:04:36,730 WARNING [org.hornetq.core.journal.impl.JournalImpl] (MSC service thread 1-6) NULL: java.lang.NullPointerException
at org.hornetq.core.journal.impl.JournalTransaction.rollback(JournalTransaction.java:363)
at org.hornetq.core.journal.impl.JournalImpl$4.onReadRollbackRecord(JournalImpl.java:2135)
at org.hornetq.core.journal.impl.JournalImpl.readJournalFile(JournalImpl.java:734)
at org.hornetq.core.journal.impl.JournalImpl.load(JournalImpl.java:1898)
at org.hornetq.core.journal.impl.JournalImpl.load(JournalImpl.java:1496)
at org.hornetq.core.journal.impl.JournalImpl.load(JournalImpl.java:1480)
at org.hornetq.core.persistence.impl.journal.JournalStorageManager.loadMessageJournal(JournalStorageManager.java:907)
at org.hornetq.core.server.impl.HornetQServerImpl.loadJournals(HornetQServerImpl.java:1603)
at org.hornetq.core.server.impl.HornetQServerImpl.initialisePart2(HornetQServerImpl.java:1445)
at org.hornetq.core.server.impl.HornetQServerImpl.access$1200(HornetQServerImpl.java:138)
at org.hornetq.core.server.impl.HornetQServerImpl$SharedStoreLiveActivation.run(HornetQServerImpl.java:1919)
at org.hornetq.jms.server.impl.JMSServerManagerImpl.start(JMSServerManagerImpl.java:269)
at org.jboss.as.messaging.jms.JMSService.start(JMSService.java:73)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1836) [jboss-msc-1.0.2.jar:1.0.2]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1771) [jboss-msc-1.0.2.jar:1.0.2]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_192]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_192]
at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_192]
11:04:36,731 INFO [org.jboss.osgi.framework.internal.HostBundleState] (MSC service thread 1-3) Bundle started: javassist:3.21.0.GA
11:04:36,739 SEVERE [org.hornetq.core.server.impl.HornetQServerImpl] (MSC service thread 1-6) Failure in initialisation: java.lang.Exception
at org.hornetq.core.journal.impl.JournalImpl.readJournalFile(JournalImpl.java:766)
at org.hornetq.core.journal.impl.JournalImpl.load(JournalImpl.java:1898)
at org.hornetq.core.journal.impl.JournalImpl.load(JournalImpl.java:1496)
at org.hornetq.core.journal.impl.JournalImpl.load(JournalImpl.java:1480)
at org.hornetq.core.persistence.impl.journal.JournalStorageManager.loadMessageJournal(JournalStorageManager.java:907)
at org.hornetq.core.server.impl.HornetQServerImpl.loadJournals(HornetQServerImpl.java:1603)
at org.hornetq.core.server.impl.HornetQServerImpl.initialisePart2(HornetQServerImpl.java:1445)
at org.hornetq.core.server.impl.HornetQServerImpl.access$1200(HornetQServerImpl.java:138)
at org.hornetq.core.server.impl.HornetQServerImpl$SharedStoreLiveActivation.run(HornetQServerImpl.java:1919)
at org.hornetq.core.server.impl.HornetQServerImpl.start(HornetQServerImpl.java:366)
at org.hornetq.jms.server.impl.JMSServerManagerImpl.start(JMSServerManagerImpl.java:269)
at org.jboss.as.messaging.jms.JMSService.start(JMSService.java:73)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1836) [jboss-msc-1.0.2.jar:1.0.2]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1771) [jboss-msc-1.0.2.jar:1.0.2]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_192]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_192]
at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_192]
Caused by: java.lang.NullPointerException
at org.hornetq.core.journal.impl.JournalTransaction.rollback(JournalTransaction.java:363)
at org.hornetq.core.journal.impl.JournalImpl$4.onReadRollbackRecord(JournalImpl.java:2135)
at org.hornetq.core.journal.impl.JournalImpl.readJournalFile(JournalImpl.java:734)
... 16 more