我在tomcat中有一個嵌入代理,我的webapp客戶端使用vm:// localhost連接到很好。我希望另一個jvm中的一些遠程客戶端能夠連接到嵌入式代理。我如何設置嵌入式代理來偵聽端口#?這適用於嵌入式客戶端:如何將遠程jms客戶端連接到tomcat中的嵌入式activemq代理?
server.xml的片段:
<Resource auth="Container"
name="jms/ConnectionFactory"
type="org.apache.activemq.ActiveMQConnectionFactory"
description="JMS Connection Factory"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
brokerURL="vm://localhost"
brokerName="MyActiveMQBroker"
useEmbeddedBroker="true"/>
這是不工作的遠程客戶端,但我的嵌入式客戶仍在使用VM連接://本地主機:
<Resource auth="Container"
name="jms/ConnectionFactory"
type="org.apache.activemq.ActiveMQConnectionFactory"
description="JMS Connection Factory"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
brokerURL="vm:(broker:(tcp://localhost:61616))"
brokerName="MyActiveMQBroker"
useEmbeddedBroker="true"/>
我的遠程客戶端出現此錯誤:
無法連接到代理URL:tcp:// localhost:61616。原因:java.net.ConnectException:連接被拒絕
我也一直在嘗試這樣的:
brokerURL="vm://localbroker?brokerConfig=xbean:file:C:/temp/activemq.xml"
,並在activemq.xml中,設置這樣的:
<transportConnectors>
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
</transportConnectors>
<networkConnectors>
<networkConnector uri="static:(tcp://0.0.0.0:61616)"/>
</networkConnectors>
我不相信XML文件正在閱讀,因爲編輯它時,我的症狀永遠不會改變。在Tomcat啓動時,當第一個客戶端Web應用程序部署,經紀人開始和報告:
連接器VM://本地主機開始
我從來沒有看到其他連接器開始,如TCP://0.0.0.0:61616 。這可能嗎?
我在Tomcat 7 server.xml中使用了brokerURL =「broker:(tcp://0.0.0.0:61616)」的配置,但遇到了以下錯誤:嵌套異常是javax.jms.JMSException:無法創建運輸。原因:java.io.IOException:無法識別傳輸方案:[broker]。你知道這個問題的原因是什麼? – florins 2013-10-18 12:50:07
@Satish您好,請您提供一些線索。 http://stackoverflow.com/questions/19706788/integration-of-restful-wvb-service-with-activemq/19751507?noredirect=1#19751507 – Kumar 2013-11-04 06:23:30