重新启动ActiveMQ Artemis服务后出错



我使用的是ActiveMQ Artemis 2.23.1。

重新启动ActiveMQ Artemis服务后出错:

2022-08-05 10:09:33,954 ERROR [org.apache.activemq.artemis.core.server] AMQ224000: Failure in initialisation: java.lang.NumberFormatException: For input string: "ID:ccd0bbcb-0db0-11ed-b640-00505685831b"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) [java.base:]
at java.base/java.lang.Long.parseLong(Long.java:692) [java.base:]
at java.base/java.lang.Long.parseLong(Long.java:817) [java.base:]
at org.apache.activemq.artemis.utils.collections.TypedProperties.getLongProperty(TypedProperties.java:258) [artemis-commons-2.23.1.jar:]
at org.apache.activemq.artemis.core.message.impl.CoreMessage.getLongProperty(CoreMessage.java:1004) [artemis-core-client-2.23.1.jar:2.23.1]
at org.apache.activemq.artemis.core.persistence.impl.journal.JournalStorageManager.parseLargeMessage(JournalStorageManager.java:372) [artemis-server-2.23.1.jar:2.23.1]
at org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.lambda$loadMessageJournal$3(AbstractJournalStorageManager.java:966) [artemis-server-2.23.1.jar:2.23.1]
at org.apache.activemq.artemis.utils.collections.SparseArrayLinkedList$SparseArray.clear(SparseArrayLinkedList.java:114) [artemis-commons-2.23.1.jar:]
at org.apache.activemq.artemis.utils.collections.SparseArrayLinkedList.clearSparseArrayList(SparseArrayLinkedList.java:173) [artemis-commons-2.23.1.jar:]
at org.apache.activemq.artemis.utils.collections.SparseArrayLinkedList.clear(SparseArrayLinkedList.java:227) [artemis-commons-2.23.1.jar:]
at org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.loadMessageJournal(AbstractJournalStorageManager.java:935) [artemis-server-2.23.1.jar:2.23.1]
at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.loadJournals(ActiveMQServerImpl.java:3606) [artemis-server-2.23.1.jar:2.23.1]
at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart2(ActiveMQServerImpl.java:3269) [artemis-server-2.23.1.jar:2.23.1]
at org.apache.activemq.artemis.core.server.impl.LiveOnlyActivation.run(LiveOnlyActivation.java:76) [artemis-server-2.23.1.jar:2.23.1]
at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:663) [artemis-server-2.23.1.jar:2.23.1]
at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:571) [artemis-server-2.23.1.jar:2.23.1]
at org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:64) [artemis-cli-2.23.1.jar:2.23.1]
at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:127) [artemis-cli-2.23.1.jar:2.23.1]
at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:160) [artemis-cli-2.23.1.jar:2.23.1]
at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:108) [artemis-cli-2.23.1.jar:2.23.1]
at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:135) [artemis-cli-2.23.1.jar:2.23.1]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [java.base:]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [java.base:]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [java.base:]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) [java.base:]
at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134) [artemis-boot.jar:2.23.1]
at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50) [artemis-boot.jar:2.23.1]

Justin Bertram帮了我。我删除了消息并导入了数据,但这并不能回答根本问题。有人能理解吗?我想在将来绕过这个错误。

中断消息

<activemq-journal>
<bindings>
<address-binding routing-types="ANYCAST" name="INT.TEST.PF.CREATE.RESP.ERR" id="2172626911"/>
<queue-binding address="INT.TEST.PF.CREATE.RESP.ERR" filter-string="" name="INT.TEST.PF.CREATE.RESP.ERR" id="2172626912" routing-type="ANYCAST"/>
</bindings>
<messages>
<message id="2172626917" priority="4" expiration="0" timestamp="1658928854636" type="bytes" user-id="ce631ba7-0db0-11ed-ad0e-00505685eec9">
<properties>
<property name="_AMQ_ROUTING_TYPE" value="1" type="byte"/>
<property name="PFFileName" value="2022-07-27T16:34:11.925123.pdf" type="simple-string"/>
<property name="PFSystemName" value="TEST_REG" type="simple-string"/>
<property name="JMSCorrelationID" value="ID:cae19602-0db0-11ed-ad0e-00505685eec9" type="simple-string"/>
<property name="_AMQ_VALIDATED_USER" value="test-pf-acc" type="simple-string"/>
<property name="_AMQ_ORIG_MESSAGE_ID" value="ID:ccd0bbcb-0db0-11ed-b640-00505685831b" type="simple-string"/>
<property name="PFProcessId" value="f59fb998-7b58-4448-9bc6-6327eaefb243_0:1" type="simple-string"/>
<property name="_AMQ_LARGE_SIZE" value="121886" type="long"/>
<property name="traceparent" value="00-00000000000000006a2fc50eb4583663-becee71cc630eb5b-01" type="simple-string"/>
<property name="__AMQ_CID" value="c7910b66-0db0-11ed-ad0e-00505685eec9" type="simple-string"/>
<property name="baggage" value="sessionId=2ababb61-48fa-43b0-8a31-a17a9a57939c" type="simple-string"/>
<property name="JMSXDeliveryCount" value="0" type="long"/>
<property name="_AMQ_ORIG_QUEUE" value="INT.TEST.PF.CREATE.RESP" type="simple-string"/>
<property name="_AMQ_ORIG_ADDRESS" value="INT.TEST.PF.CREATE.RESP" type="simple-string"/>
</properties>
<queues>
<queue name="INT.TEST.PF.CREATE.RESP.ERR"/>
</queues>
<body isLarge="true">
</body>
</message>
</messages>
</activemq-journal>

我发现了一条损坏的消息,并将其加载到一个干净的ActiveMQ Artemis中。在以下方面出现错误:value="ID:ccd0bbcb-0db0-11ed-b640-00505685831b"

我找到了错误的原因,但不明白它是如何发生的。字符串:

<property name="_AMQ_ORIG_MESSAGE_ID" value="ID:ccd0bbcb-0db0-11ed-b640-00505685831b" type="simple-string"/>

必须像:

<property name="_AMQ_ORIG_MESSAGE_ID" value="27975317746" type="long"/>

更新

问题解决了。发送消息的是应用程序代码中的一个错误。

相关内容

最新更新