2012-11-16 75 views
1

Im拼命嘗試通過http連接到我的本地ActiveMQ代理與JMS客戶端。JMS與ActiveMQ不想通過http互聯網連接

通過我的動態IP地址可以訪問ActiveMQ Web控制檯。

在xml配置中的傳輸連接器應該是正確的,我認爲?

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

連接過的 「http://本地主機:8080」 工作雖然。

但如果我使用我的網絡IP導致我的路由器,並轉發到我的電腦(端口是正確的)連接無法正常工作。

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

如果我調試JVM是卡在createTopicConnection方法和經過一段時間後的代碼的其餘部分被跳過並且主方法完成而沒有任何異常的消息或什麼。

任何猜測iam做錯了什麼?

感謝

+0

tcp istn也在工作。通過udp ActiveMQ獲取連接消息,但多數民衆贊成在 – user974631

回答

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時,您仍然可以從本地主機連接,但您也可以從任何遠程地址連接。

+0

謝謝!它的工作 – user974631