Hornetq中的问题:Java.lang.IllegalStateException:缓冲区分配中的无效逻辑



我正在使用黄蜂-2.0。当我的JMS队列被堆积时,就会发生IllegalstateException。以下是例外的堆栈跟踪。

java.lang.illegalstateException:缓冲区分配上的无效逻辑

    at org.hornetq.core.journal.impl.JournalImpl.appendRecord(JournalImpl.java:2820)
    at org.hornetq.core.journal.impl.JournalImpl.appendAddRecordTransactional(JournalImpl.java:968)
    at org.hornetq.core.persistence.impl.journal.JournalStorageManager.storeMessageTransactional(JournalStorageManager.java:567)
    at org.hornetq.core.postoffice.impl.PostOfficeImpl.processRoute(PostOfficeImpl.java:900)
    at org.hornetq.core.postoffice.impl.PostOfficeImpl.route(PostOfficeImpl.java:665)
    at org.hornetq.core.postoffice.impl.PostOfficeImpl.route(PostOfficeImpl.java:539)
    at org.hornetq.core.paging.impl.PagingStoreImpl.onDepage(PagingStoreImpl.java:1006)
    at org.hornetq.core.paging.impl.PagingStoreImpl.readPage(PagingStoreImpl.java:698)
    at org.hornetq.core.paging.impl.PagingStoreImpl.access$200(PagingStoreImpl.java:64)
    at org.hornetq.core.paging.impl.PagingStoreImpl$DepageRunnable.run(PagingStoreImpl.java:1181)
    at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:96)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)

发生此错误后,必须重新启动黄蜂,并且必须清除页面和期刊。

当消息不适用于活动日记文件时,也会发生此错误,并且也不适合下一个(大概是空的)日记帐文件。我不知道为什么在您的情况下会发生这种情况。它可能是一个错误,它可能是一个非常大的消息与小型日记文件结合在一起,或者您可能限制了日记帐文件的大小和数量?

最新更新