2009-11-25 67 views
1

我希望能够将邮件发送到远程JBoss服务器(JBoss MQ)。将邮件发送到远程JMS提供程序

我能做到这一点的地方之一,但与远程一个尝试当我卡住了。

任何人都可以向我解释如何做到这一点? 是否有任何特定的步骤?

[我已经试过到目前为止]

我需要将消息发送到远程服务器的队列(运行“的JBoss MQ”),以便它可以处理该消息并采取行动就可以了。

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.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 

是否有任何特殊的事情来连接到远程队列?

回答

1

OK,所以想了很多,我终于发现了问题所在:

我没在某种程度上,它可以接受远程连接远程服务器上启动JBoss。默认情况下,JBoss开始只允许本地连接。

所以,我有这样的说法重新启动它:-b 0.0.0.0,现在工作得很好。

感谢您的帮助和支持。

1

您已经验证您可以连接到远程主机端口,即telnet 192.168.131.129 1299?你可能有一个阻止一些流量但允许ping的防火墙。

+0

感谢您的建议。我试过了,无法连接。没有防火墙,它仍然无法工作。 – Attilah 2009-12-04 10:49:20