我们在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群集已成功创建,但在从属节点启动服务器时看到此消息。
答案 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>