2012-04-25 21 views
3

私は、Webアプリケーションクライアントがvm:// localhostを使用して正常に接続しているTomcatに埋め込みブローカーを持っています。別のjvmの一部のリモートクライアントが、組み込みブローカに接続できるようにしたいと思います。ポート#でリッスンするように埋め込みブローカを設定するにはどうすればよいですか?これは、埋め込まれたクライアントのために動作します:tomcatの組み込みactivemqブローカにリモートjmsクライアントを接続する方法は?

の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を使用して接続:// localhostを:

<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:私は信じていません

<transportConnectors> 
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/> 
</transportConnectors> 

<networkConnectors> 
<networkConnector uri="static:(tcp://0.0.0.0:61616)"/> 
</networkConnectors> 

:、

brokerURL="vm://localbroker?brokerConfig=xbean:file:C:/temp/activemq.xml" 

とactivemq.xmlでこの設定:接続は、私はまた、これをしようとしている

を拒否しました編集時に症状が変わらないので、xmlファイルが読み込まれています。最初のクライアントのWebアプリケーションを配備したときにTomcatの起動時には、ブローカーが開始されたという報告:

コネクタVM://0.0.0.0:61616 // localhostの

スタートは、私は別のコネクタは、TCPのように、開始見ることはありません。これは可能ですか?

答えて

1

vm://localhostリモートブローカが接続するためのTCPポートを開きません。 vmプロトコルはJVM内で使用できます。

、ローカルのTomcatの設定(例: "tomcathostone" としてホスト名とローカルサーバーを検討)

<Resource auth="Container" 
name="jms/ConnectionFactory" 
type="org.apache.activemq.ActiveMQConnectionFactory" 
description="JMS Connection Factory" 
factory="org.apache.activemq.jndi.JNDIReferenceFactory" 
brokerURL="broker:(tcp://0.0.0.0:61616)" 
brokerName="MyActiveMQBroker" 
useEmbeddedBroker="true"/> 

リモートのTomcatの設定(例: "tomcathosttwo" としてホスト名を使用して、リモートサーバーを検討してください)

<Resource auth="Container" 
name="jms/ConnectionFactory" 
type="org.apache.activemq.ActiveMQConnectionFactory" 
description="JMS Connection Factory" 
factory="org.apache.activemq.jndi.JNDIReferenceFactory" 
brokerURL="broker:(tcp://tomcathosttwo:61616,network:static:tcp://tomcathostone:61616)" 
brokerName="MyActiveMQBroker" 
useEmbeddedBroker="true"/> 
+0

Tomcat 7のserver.xmlでbrokerURL = "broker:(tcp://0.0.0.0:61616)"という設定を使用しましたが、エラーにぶつかっています:入れ子にされた例外はjavax.jms.JMSExceptionです:作成できませんでした輸送。理由:java.io.IOException:トランスポート・スキームが認識されない:[broker]。あなたはこの問題の理由を知っていますか? – florins

+0

@Satishこんにちはあなたは何か手がかりを与えてくれますか? http://stackoverflow.com/questions/19706788/integration-of-restful-wvb-service-with-activemq/19751507?noredirect=1#19751507 – Kumar

関連する問題