HQ224037:集群连接无法处理消息 - 请参阅:https://developer.jboss.org/message/934562#934562

时间:2015-06-25 12:38:43

标签: wildfly hornetq

我们在HornetQ群集配置中看到以下错误。

2015-06-25 07:11:45,425 ERROR (Thread-0 (HornetQ-client-global-threads-1606034117)) [org.hornetq.core.server] HQ224037: cluster connection Failed to handle message: java.lang.IllegalStateException: Cannot find binding for jms.queue.icp.enterprisef191140e-154d-11e5-aba6-29ed79c6c396 on ClusterConnectionImpl@1994957667[nodeUUID=44207bc3-154e-11e5-a8b5-2752befdd59f, connector=TransportConfiguration(name=http-connector, factory=org-hornetq-core-remoting-impl-netty-NettyConnectorFactory) ?port=8080&host=APSED3096&http-upgrade-enabled=true&http-upgrade-endpoint=http-acceptor, address=jms.queue.icp, server=HornetQServerImpl::serverUUID=44207bc3-154e-11e5-a8b5-2752befdd59f]
at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$MessageFlowRecordImpl.doConsumerCreated(ClusterConnectionImpl.java:1426) [hornetq-server-2.4.5.Final.jar:]
at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$MessageFlowRecordImpl.handleNotificationMessage(ClusterConnectionImpl.java:1163) [hornetq-server-2.4.5.Final.jar:]
at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$MessageFlowRecordImpl.onMessage(ClusterConnectionImpl.java:1131) [hornetq-server-2.4.5.Final.jar:]
at org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:1116) [hornetq-core-client-2.4.5.Final.jar:]
at org.hornetq.core.client.impl.ClientConsumerImpl.access$500(ClientConsumerImpl.java:56) [hornetq-core-client-2.4.5.Final.jar:]
at org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1251) [hornetq-core-client-2.4.5.Final.jar:]
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:104) [hornetq-core-client-2.4.5.Final.jar:]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_40]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_40]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_40]

这是hornetQ-configurations

<hornetq-server>
                <persistence-enabled>true</persistence-enabled>
                <security-enabled>false</security-enabled>
                <cluster-user>ICP</cluster-user>
                <cluster-password>ingenix1</cluster-password>
                <transaction-timeout>306000</transaction-timeout>
                <shared-store>false</shared-store>
                <journal-type>NIO</journal-type>
                <journal-file-size>102400</journal-file-size>
                <journal-min-files>2</journal-min-files>
                <connectors>
                    <http-connector name="http-connector" socket-binding="http">
                        <param key="http-upgrade-endpoint" value="http-acceptor"/>
                    </http-connector>
                    <in-vm-connector name="in-vm" server-id="0"/>
                </connectors>
                <acceptors>
                    <http-acceptor http-listener="default" name="http-acceptor"/>
                    <in-vm-acceptor name="in-vm" server-id="0"/>
                </acceptors>
                <broadcast-groups>
                    <broadcast-group name="icp-broadcast-group">
                        <jgroups-stack>tcpping</jgroups-stack>
                        <connector-ref>
                            http-connector
                        </connector-ref>
                    </broadcast-group>
                </broadcast-groups>
                <discovery-groups>
                    <discovery-group name="icp-discovery-group">
                        <jgroups-stack>tcpping</jgroups-stack>
                    </discovery-group>
                </discovery-groups>
                <cluster-connections>
                    <cluster-connection name="icp-cluster">
                        <address>jms.queue.icp</address>
                        <connector-ref>http-connector</connector-ref>
                        <retry-interval>500</retry-interval>
                        <use-duplicate-detection>true</use-duplicate-detection>
                        <forward-when-no-consumers>true</forward-when-no-consumers>
                        <max-hops>1</max-hops>
                        <discovery-group-ref discovery-group-name="icp-discovery-group"/>
                    </cluster-connection>
                    <cluster-connection name="claimmap-cluster">
                        <address>jms.queue.claimmap</address>
                        <connector-ref>http-connector</connector-ref>
                        <retry-interval>500</retry-interval>
                        <use-duplicate-detection>true</use-duplicate-detection>
                        <forward-when-no-consumers>true</forward-when-no-consumers>
                        <max-hops>1</max-hops>
                        <discovery-group-ref discovery-group-name="icp-discovery-group"/>
                    </cluster-connection>
                    <cluster-connection name="hornetq-internal-cluster">
                        <address>hornetq.#</address>
                        <connector-ref>http-connector</connector-ref>
                        <retry-interval>500</retry-interval>
                        <use-duplicate-detection>true</use-duplicate-detection>
                        <forward-when-no-consumers>true</forward-when-no-consumers>
                        <max-hops>1</max-hops>
                        <discovery-group-ref discovery-group-name="icp-discovery-group"/>
                    </cluster-connection>
                </cluster-connections>
                <grouping-handler name="icp-grouping-handler">
                    <type>${grouping-handler.type}</type>
                    <address>jms.queue.icp</address>
                    <timeout>5000</timeout>
                </grouping-handler>
                <security-settings>
                    <security-setting match="#">
                        <permission type="send" roles="guest"/>
                        <permission type="consume" roles="guest"/>
                        <permission type="createNonDurableQueue" roles="guest"/>
                        <permission type="deleteNonDurableQueue" roles="guest"/>
                    </security-setting>
                </security-settings>
                <address-settings>
                    <address-setting match="#">
                        <expiry-address>jms.queue.ExpiryQueue</expiry-address>
                        <redelivery-delay>0</redelivery-delay>
                        <max-delivery-attempts>1</max-delivery-attempts>
                        <max-size-bytes>104857600</max-size-bytes>
                        <page-size-bytes>10485760</page-size-bytes>
                        <address-full-policy>PAGE</address-full-policy>
                        <message-counter-history-day-limit>10</message-counter-history-day-limit>
                    </address-setting>
                </address-settings>
                <jms-connection-factories>
                    <connection-factory name="InVmConnectionFactory">
                        <connectors>
                            <connector-ref connector-name="in-vm"/>
                        </connectors>
                        <entries>
                            <entry name="ConnectionFactory"/>
                        </entries>
                    </connection-factory>
                    <connection-factory name="NettyConnectionFactory">
                        <connectors>
                            <connector-ref connector-name="http-connector"/>
                        </connectors>
                        <entries>
                            <entry name="ConnectionFactory"/>
                            <entry name="java:jboss/exported/ConnectionFactory"/>
                        </entries>
                    </connection-factory>
                    <pooled-connection-factory name="hornetq-ra">
                        <transaction mode="xa"/>
                        <connectors>
                            <connector-ref connector-name="in-vm"/>
                        </connectors>
                        <entries>
                            <entry name="java:/JmsXA"/>
                            <entry name="java:jboss/DefaultJMSConnectionFactory"/>
                        </entries>
                    </pooled-connection-factory>
                </jms-connection-factories>
                <jms-destinations>
                    <jms-queue name="ExpiryQueue">
                        <entry name="/queue/ExpiryQueue"/>
                    </jms-queue>
                    <jms-queue name="icp.analyze">
                        <entry name="/queue/icp/analyze"/>
                        <entry name="java:jboss/exported/queue/icp/analyze"/>
                    </jms-queue>
                    .....
                </jms-destinations>
            </hornetq-server>

这里有jgroup协议配置:

<stack name="tcpping">
                <transport type="TCP" socket-binding="jgroups-tcp"/>
                <protocol type="TCPPING">
                    <property name="initial_hosts">
                        machineA[7600],machineB[7600]
                    </property>
                    <property name="port_range">
                        1
                    </property>
                </protocol>
                <protocol type="MERGE2"/>
                <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>
                <protocol type="FD"/>
                <protocol type="VERIFY_SUSPECT"/>
                <protocol type="pbcast.NAKACK2"/>
                <protocol type="UNICAST3"/>
                ......
            </stack>

日志文件说,HornetQ群集已成功创建,但在从属节点启动服务器时看到此消息。

1 个答案:

答案 0 :(得分:0)

您可能必须在广播和发现组下指定jgroups-channel。在你的情况下像:

               <broadcast-groups>
                    <broadcast-group name="icp-broadcast-group">
                        <jgroups-stack>tcpping</jgroups-stack>
                        <jgroups-channel>msg-channel</jgroups-channel>
                        <connector-ref>
                            http-connector
                        </connector-ref>
                    </broadcast-group>
                </broadcast-groups>
                <discovery-groups>
                    <discovery-group name="icp-discovery-group">
                        <jgroups-stack>tcpping</jgroups-stack>
                        <jgroups-channel>msg-channel</jgroups-channel>
                    </discovery-group>
                </discovery-groups>