1

我已经获得了一些关于使用发布到资源的消息的知识。在这个过程中,我使用了一个独立的,它将消息发布到本地队列。现在,任务是将消息发布到远程队列,该队列驻留在服务器(比如 TIBCO)中,而不是我在这里使用的 Web-Logic。

我的问题是:a) 发布到远程队列时,是否有任何显着差异需要注意?

4

2 回答 2

1

向远程服务器发送消息非常简单。您只需要远程服务器的 URL 和 JMS 提供程序正在侦听传入连接的端口号。获得这些详细信息后,您就可以对队列执行 JNDI 查找并建立会话以发送消息。如下所示:

// Provide the details of remote JMS Server
Properties props = new Properties();
props.put(Context.PROVIDER_URL, "mq://localhost:7676");

// Create the initial context for remote JMS server
InitialContext cntxt = new InitialContext(props);
System.out.println("Context Created");

// JNDI Lookup for QueueConnectionFactory in remote JMS Provider
QueueConnectionFactory qFactory =   (QueueConnectionFactory)cntxt.lookup("TestQueueConnectionFactory");

// Create a Connection from QueueConnectionFactory
Connection connection = qFactory.createConnection();
System.out.println("Connection established with JMS Provide ");

有关完整的代码详细信息,请参阅此JMS 客户端服务器示例。我猜你只对这个例子中的客户端代码感兴趣。

于 2013-06-10T13:23:18.850 回答
0

你想达到什么目标?如果您只是想在任何符合 JMS 的代理上向队列发布消息,我会尝试使用 Hermes 工具:http ://www.hermesjms.com/confluence/display/HJMS/Home

干杯

于 2013-06-09T09:02:28.280 回答