有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java通过jms连接到ibm mq。指定通道和队列管理器

如何在系统属性中指定要连接到的队列管理器。 以下是代码:

Properties properties = new Properties(); 
properties.setProperty("java.naming.factory.initial", "com.ibm.mq.jms.context.WMQInitialContextFactory");
properties.setProperty("java.naming.provider.url", "localhost:1414/SYSTEM.DEF.SVRCONN"); 

Context context = new InitialContext(properties); 
factory= (QueueConnectionFactory)context.lookup("TESTOUT"); 

上下文总是获取TEST que,但无法连接到TESTOUT队列


共 (3) 个答案

  1. # 2 楼答案

    嗯。。。你发布的代码片段有很多问题,很难知道从哪里开始

    使用WMQInitialContectFactory似乎不是从MQ开始的地方。它增加了一层你在这个阶段可能不想要的复杂性。我建议使用Sun的fscontext,并将托管对象保存在本地文件中。您使用的初始上下文主要用于为许多用户或应用程序创建一个共享JNDI存储库,但它不受支持。我的问题是,程序首先必须连接到队列管理器,以获得一个连接工厂,该工厂。。。告诉程序如何连接到QMgr

    所有这些物体都被命名为系统。DEF.*或系统。自动。*不得用于实际连接。它们是新对象从中继承的模板。如果它们可用,则无法保护它们或从它们创建的任何对象

    代码段不完整,或者您将连接工厂与队列对象混淆。帖子说您想要测试输出队列,但代码只有一个队列连接工厂,没有目的地或队列对象

    如果您已经在本地安装了WMQ服务器或客户机,那么您已经有了很多好的示例。这些示例的默认位置是C:\Program Files\IBM\WebSphere MQ\tools\jms\samples,它们包括发布/订阅和点对点示例。如果你想要一个例子来演示如何创建。绑定文件,在这里查看文章和示例代码:http://www.ibm.com/developerworks/websphere/techjournal/0610_woolf/0610_woolf.html这篇文章解释了我刚才提到的有关通道、客户端安全性等的一些问题

  2. # 3 楼答案

    下面是来自IBM网站的一个示例,介绍如何设置Websphere Application Server(WAS)以使用MQ作为JMS机制
    http://www.ibm.com/developerworks/websphere/techjournal/0505_woolf/0505_woolf.html

    此外,IBM还有一本很好的红皮书,概述了如果您是以下位置的消息生产者,如何做到这一点的示例:
    http://www.redbooks.ibm.com/redbooks/pdfs/sg247128.pdf

    下面还有一些很好的Java代码示例:
    http://www.capitalware.biz/mq_code_java.html

    对不起。。。。我再也不能使用我为这个做的代码了,或者我会给你一些例子