当前位置: 首页 > 知识库问答 >
问题:

org.apache.activemq.artemis.core.client:AMQ214013:无法解码数据包

慕佑运
2023-03-14

我有一个由两个ActiveMQ Artemis 2.18.0代理组成的集群。“Server2”代理在其broker.xml中包含以下内容:

<connectors>
       <connector name="netty-connector">tcp://server1:61616?sslEnabled=true;trustStorePath=/data/assimbly/broker/.assimbly/security/truststore-01.jks;truststorePassword=secret</connector>
</connectors>
        
<acceptors>
     <acceptor name="netty-acceptor">tcp://0.0.0.0:61616?protocols=CORE,AMQP,STOMP,HORNETQ,OPENWIRE;sslEnabled=true;keyStorePath=/data/assimbly/broker/.assimbly/security/keystore-01.jks;keyStorePassword=secret</acceptor>
         
     <acceptor name="amqp">tcp://0.0.0.0:5672?protocols=CORE,AMQP;sslEnabled=true;keyStorePath=/data/assimbly/broker/.assimbly/security/keystore-01.jks;keyStorePassword=secret</acceptor>
</acceptors>

    <cluster-connections>
       <cluster-connection name="test-cluster">
          <connector-ref>netty-connector</connector-ref>
          <retry-interval>1000</retry-interval>
          <use-duplicate-detection>false</use-duplicate-detection>
          <message-load-balancing>ON_DEMAND</message-load-balancing>
          <max-hops>1</max-hops>
          <discovery-group-ref discovery-group-name="test-discovery-group"/>
       </cluster-connection>
    </cluster-connections>

org.apache.activemq.artemis.core.client : AMQ212037: Connection failure to server1/10.96.1.6:61616 has been detected: java.lang.IndexOutOfBoundsException: Error reading in simpleString, length=1970500723 is greater than readableBytes=38 [code=GENERIC_EXCEPTION]
org.apache.activemq.artemis.core.client : AMQ214013: Failed to decode packet
java.lang.IndexOutOfBoundsException: Error reading in simpleString, length=1970500723 is greater than readableBytes=38 

堆栈跟踪:

2021-10-05 12:37:50,496 WARN  [Thread-3 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@1f8d7d07)] client: AMQ212037: Connection failure to lnx00057.svb.org/10.96.1.6:61616 has been detected: java.lang.IndexOutOfBoundsException: Error reading in simpleString, length=1970500723 is greater than readableBytes=38 [code=GENERIC_EXCEPTION]
2021-10-05 12:37:50,508 ERROR [Thread-10 (ActiveMQ-client-netty-threads)] client: AMQ214013: Failed to decode packet
java.lang.IndexOutOfBoundsException: Error reading in simpleString, length=1970500723 is greater than readableBytes=38
        at org.apache.activemq.artemis.api.core.SimpleString.readSimpleString(SimpleString.java:185)
        at org.apache.activemq.artemis.api.core.SimpleString.readSimpleString(SimpleString.java:173)
        at org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper.readStringInternal(ChannelBufferWrapper.java:113)
        at org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper.readNullableString(ChannelBufferWrapper.java:88)
        at org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V3.decodeRest(ClusterTopologyChangeMessage_V3.java:81)
        at org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V4.decodeRest(ClusterTopologyChangeMessage_V4.java:56)
        at org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl.decode(PacketImpl.java:371)
        at org.apache.activemq.artemis.core.protocol.ServerPacketDecoder.slowPathDecode(ServerPacketDecoder.java:277)
        at org.apache.activemq.artemis.core.protocol.ServerPacketDecoder.decode(ServerPacketDecoder.java:149)
        at org.apache.activemq.artemis.core.protocol.core.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:388)
        at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl$DelegatingBufferHandler.bufferReceived(ClientSessionFactoryImpl.java:1263)
        at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:73)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1374)
        at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1237)
        at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1286)
        at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:507)
        at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:446)
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
        at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795)
        at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:480)
        at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378)
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
2021-10-05 12:37:50,508 ERROR [Thread-10 (ActiveMQ-client-netty-threads)] client: AMQ214031: Failed to decode buffer, disconnect immediately.
java.lang.IllegalStateException: java.lang.IndexOutOfBoundsException: Error reading in simpleString, length=1970500723 is greater than readableBytes=38
        at org.apache.activemq.artemis.core.protocol.core.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:401)
        at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl$DelegatingBufferHandler.bufferReceived(ClientSessionFactoryImpl.java:1263)
        at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:73)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1374)
        at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1237)
        at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1286)
        at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:507)
        at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:446)
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
        at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795)
        at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:480)
        at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378)
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
Caused by: java.lang.IndexOutOfBoundsException: Error reading in simpleString, length=1970500723 is greater than readableBytes=38
        at org.apache.activemq.artemis.api.core.SimpleString.readSimpleString(SimpleString.java:185)
        at org.apache.activemq.artemis.api.core.SimpleString.readSimpleString(SimpleString.java:173)
        at org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper.readStringInternal(ChannelBufferWrapper.java:113)
        at org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper.readNullableString(ChannelBufferWrapper.java:88)
        at org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V3.decodeRest(ClusterTopologyChangeMessage_V3.java:81)
        at org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V4.decodeRest(ClusterTopologyChangeMessage_V4.java:56)
        at org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl.decode(PacketImpl.java:371)
        at org.apache.activemq.artemis.core.protocol.ServerPacketDecoder.slowPathDecode(ServerPacketDecoder.java:277)
        at org.apache.activemq.artemis.core.protocol.ServerPacketDecoder.decode(ServerPacketDecoder.java:149)
        at org.apache.activemq.artemis.core.protocol.core.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:388)
        ... 29 common frames omitted
2021-10-05 12:37:50,508 WARN  [Thread-1 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@1f8d7d07)] client: AMQ212037: Connection failure to lnx00057.svb.org/10.96.1.6:61616 has been detected: java.lang.IndexOutOfBoundsException: Error reading in simpleString, length=1970500723 is greater than readableBytes=38 [code=GENERIC_EXCEPTION]
2021-10-05 12:37:50,530 WARN  [Thread-2 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@1f8d7d07)] client: AMQ212025: did not connect the cluster connection to other nodes
org.apache.activemq.artemis.api.core.ActiveMQConnectionTimedOutException: AMQ219013: Timed out waiting to receive cluster topology. Group:org.apache.activemq.artemis.core.cluster.DiscoveryGroup@2f9129bc
        at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:743)
        at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:549)
        at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:528)
        at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl$4.run(ServerLocatorImpl.java:486)
        at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42)
        at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31)
        at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:65)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
2021-10-05 12:37:50,531 WARN  [Thread-4 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@1f8d7d07)] server: AMQ224091: Bridge ClusterConnectionBridge@5ba37c27 [name=$.artemis.internal.sf.test-cluster.918859b6-25f5-11ec-8bff-001dd8c12fe4, queue=QueueImpl[name=$.artemis.internal.sf.test-cluster.918859b6-25f5-11ec-8bff-001dd8c12fe4, postOffice=PostOfficeImpl [server=ActiveMQServerImpl::name=02], temp=false]@55648923 targetConnector=ServerLocatorImpl (identity=(Cluster-connection-bridge::ClusterConnectionBridge@5ba37c27 [name=$.artemis.internal.sf.test-cluster.918859b6-25f5-11ec-8bff-001dd8c12fe4, queue=QueueImpl[name=$.artemis.internal.sf.test-cluster.918859b6-25f5-11ec-8bff-001dd8c12fe4, postOffice=PostOfficeImpl [server=ActiveMQServerImpl::name=02], temp=false]@55648923 targetConnector=ServerLocatorImpl [initialConnectors=[TransportConfiguration(name=netty-connector, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?port=61616&sslEnabled=true&host=lnx00057-svb-org&trustStorePath=/data/assimbly/broker/-assimbly/security/truststore-01-jks], discoveryGroupConfiguration=null]]::ClusterConnectionImpl@1709963701[nodeUUID=98f793bf-25f5-11ec-9e30-001dd8c12fe5, connector=TransportConfiguration(name=netty-connector, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?trustStorePassword=****&port=61616&sslEnabled=true&host=lnx00058-svb-org&trustStorePath=/data/assimbly/broker/-assimbly/security/truststore-01-jks, address=, server=ActiveMQServerImpl::name=02])) [initialConnectors=[TransportConfiguration(name=netty-connector, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?port=61616&sslEnabled=true&host=lnx00057-svb-org&trustStorePath=/data/assimbly/broker/-assimbly/security/truststore-01-jks], discoveryGroupConfiguration=null]] is unable to connect to destination. Retrying

最后一行日志指示DiscoveryGroupConfiguration=null。我不确定这是直接相关的还是分开的问题。以下是这些组的配置:

    <broadcast-groups>
       <broadcast-group name="test-broadcast-group">
        <group-address>${udp-address:231.7.7.7}</group-address>
        <group-port>9876</group-port>
        <broadcast-period>2000</broadcast-period>
        <connector-ref>netty-connector</connector-ref>
       </broadcast-group>
    </broadcast-groups>

      <discovery-groups>
         <discovery-group name="test-discovery-group">
            <group-address>${udp-address:231.7.7.7}</group-address>
            <group-port>9876</group-port>
            <refresh-timeout>10000</refresh-timeout>
         </discovery-group>
      </discovery-groups>

我尝试更改我的发现-组广播-组组-地址,以便在这两个节点上使用231.6.6.6而不是231.7.7,但失败仍然发生。

共有1个答案

闾丘博超
2023-03-14

若要修复此错误,应将truststorePassword替换为truststorePassword,因为检查允许的连接器参数区分大小写。

此问题是由不允许的连接器参数引起的,因为它们被作为额外参数处理,并且在编码和解码TransportConfiguration ExtraParams时出现错误,有关详细信息,请参阅ARTEMIS-3363。

 类似资料:
  • 我有一个游戏,我正在用一些网络来制作多人游戏。我创建了一个自定义模块(在任何方面都不是最好的),将两个值(XY)从-1048576转换为1048576,一个值从0到60(健康),转换为6个字符。所以我可以用6个字节发送所有的信息。 但是这在Python 2中工作,在Python 3中,我发现我不能发送带有字符的“str”,所以我在发送之前使用了“. encode()”,在我的任何函数中使用“. d

  • 问题内容: unicode是如何在python2上工作的?我只是不明白。 在这里,我从服务器下载数据并解析为JSON。 谢谢!! 编辑:以下字符串导致错误:。应该解码为(abhören) 问题答案: 您尝试解析为JSON的字符串未使用UTF-8编码。它很可能是在ISO-8859-1中编码的。请尝试以下操作: 它将处理JSON消息中可能出现的所有变音符号。 您应该阅读Joel Spolsky的《每个

  • 我使用Spring Cloud Data Flow设置一个读取CSV文件的流,使用自定义处理器对其进行转换并记录: 文件和csvToMap应用程序工作正常,但在日志应用程序中,我看到这种异常,对于每条记录: 对于file\u relativePath标头,也会引发此异常。我不明白为什么斯普林·Kafka试图将它们解读为JSON。 此外,日志接收器以正确的方式记录我的记录: 出于调试目的,我将kaf

  • 在启动应用程序时,Kafka流出现了奇怪的错误 结果,关于失败流的错误:

  • 我有通过jndi名称从WebLogic获取数据源的应用程序。 我在应用程序中配置了jndi数据源名称。yml: 我在WebLogic服务器上配置了它,指定了特定的目标。我测试了这个数据源,WebLogic说测试成功了。但是当我尝试部署应用程序时,我收到以下错误: 我需要确定WebLogic的数据源配置中存在问题,或者在java代码中获取数据源时存在问题。我是否能够在不部署应用程序的情况下测试获取数

  • 无法解析以下json数据。获得成功响应但返回的正文为空以下是我通过Web浏览器获得的json响应。 下面是用于解析所用响应类的模型类 Departure.java 调用api 我从浏览器中得到了正确的响应。但当通过改装库调用时,获得成功响应(200),但正文为空。 我从浏览器中得到了正确的响应。但当通过改装库调用时,获得成功响应(200),但正文为空。