我已经获得了一些关于消费发布到资源的消息的知识。在这个过程中,我使用了一个独立的消息,将消息发布到本地队列。现在,任务是将消息发布到远程队列,该队列驻留在服务器(比如TIBCO)中,而不是Web-Logic,我在这里使用它。
我的问题是: a)发布到远程队列时是否有任何值得注意的差异?
答案 0 :(得分:0)
你想要达到什么目的? 如果您只是想在任何符合JMS的代理上将消息发布到队列,我会尝试使用Hermes工具:http://www.hermesjms.com/confluence/display/HJMS/Home
干杯
答案 1 :(得分:0)
向远程服务器发送消息非常简单。您所需要的只是远程服务器的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 Client Server Example。我猜你只对这个例子中的客户端代码感兴趣。