2

httpを介してJMSクライアントを使用してローカルのActiveMQブローカーに接続しようと必死になっています。

ActiveMQ Webコンソールは、動的IPアドレスを介して到達可能です。

xml構成のトランスポートコネクタは正しいはずだと思いますか?

 <transportConnectors>
        <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
    <transportConnector name="http1" uri="http://localhost:8080"/>
 </transportConnectors>

ただし、「http:// localhost:8080」を介した接続は機能しています。

しかし、ルーターにつながり、(ポートが正しい)PCに転送されるWeb IPを使用すると、接続が機能しません。

 public static String curIPurl = "http://{currentIP:port}";
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(curIPurl);
        TopicConnection connection = connectionFactory.createTopicConnection();
        connection.start();

デバッグすると、jvmがcreateTopicConnectionメソッドでスタックし、しばらくすると残りのコードがスキップされ、メインメソッドがメッセージ例外などなしで終了します。

何が間違っているのか推測できますか?

ありがとう

4

1 に答える 1

3

変化する

<transportConnector name="http1" uri="http://localhost:8080"/>

<transportConnector name="http1" uri="http://0.0.0.0:8080"/>

私はhttpトランスポートを使用していません-tcpトランスポートのみを使用していますが、リモートJMSクライアントが接続できるようにするときにアドレスを指定する方法です。ローカルホストにバインドすると、ローカルホストからのみ接続できます。0.0.0.0にバインドする場合でも、ローカルホストから接続できますが、任意のリモートアドレスから接続することもできます。

于 2012-11-16T01:41:35.523 に答える