hornetq中的问题:java.lang.IllegalStateException:缓冲区分配上的逻辑无效

时间:2015-05-08 12:34:22

标签: java hornetq

我正在使用hornetq-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)

发生此错误后,必须重新启动hornetq,并且必须清除页面和日志。

1 个答案:

答案 0 :(得分:0)

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