2009-11-25 126 views
0

我需要發送消息到遠程服務器的隊列(運行「JBoss MQ」),以便它可以處理消息並對其執行操作。JMS消息到遠程服務器

Properties properties = new Properties(); 
    properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); 
    properties.put(Context.URL_PKG_PREFIXES, "org.jnp.interfaces"); 
    properties.put(Context.PROVIDER_URL, "jnp://192.168.1.131.129:1299"); 
    InitialContext jndiContext = new InitialContext(properties); 

    //[2] Look up connection factory and queue. 
    ConnectionFactory connectionFactory = (ConnectionFactory)jndiContext.lookup("UIL2XAConnectionFactory"); 
    Queue queue = (Queue)jndiContext.lookup("Queue/DataTransferQueue"); 

但運行上面的代碼時,我得到一個異常: (儘管,我可以ping遠程服務器)。

javax.naming.CommunicationException: Could not obtain connection to any of these urls: 192.168.1.131.129:1299 and 
discovery failed with error: javax.naming.CommunicationException: 
Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] 
[Root exception is javax.naming.CommunicationException: Failed to connect to server 192.168.1.131.129:1299 

是否有任何特殊的事情來連接到遠程隊列?

+0

爲什麼這會降低投票率? – Adam 2009-12-11 16:10:43

回答

1

您正在使用的IP地址不正確:192.168.1.131.129有5個數字,應該只有4

+0

感謝他,糾正了錯字並再次嘗試。 – Attilah 2009-11-25 15:09:29

1

我重新啓動我的JBoss服務器具有以下過程參數解決了這個問題:

-b 0.0.0.0

JBoss服務器默認啓動爲只允許本地連接。通過用前面提到的參數啓動它,可以指示它接受遠程連接。

相關問題