在Java程序中的IBM MQ中创建主题
作者:互联网
我想在我的Java应用程序中创建一个名为“manipulation”的主题,但是我收到此错误:
Exception in thread "main" com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2085'
我的代码是:
MQTopic subscriber = new MQTopic(queueManager, null, "manipulation",CMQC.MQTOPIC_OPEN_AS_SUBSCRIPTION, CMQC.MQSO_CREATE);
如上所述:
Accessing queues, topics, and processes in IBM MQ classes for Java
解决方法:
您用于创建主题订阅的代码需要稍作修改才能使其正常工作:
MQTopic subscriber = new MQTopic(queueManager, null, "manipulation",CMQC.MQTOPIC_OPEN_AS_SUBSCRIPTION, CMQC.MQSO_CREATE);
在上面的代码片段中,您指定了第三个参数,即主题对象名称.指定主题对象名称时,该对象必须存在才能使用.在您的情况下,您在管理上创建了一个带有名称操作的主题对象,然后使用上面的构造函数来创建订阅.由于不存在主题操作,因此抛出了MQRC 2085异常.
您有两种选择:
1)在行政上创建主题对象“操纵”.
2)如果您不想创建主题对象,则在不使用主题对象名称的情况下即时创建订阅,如下所示
MQTopic subscriber = queueManager.accessTopic("manipulation", "", CMQC.MQTOPIC_OPEN_AS_SUBSCRIPTION, CMQC.MQSO_MANAGED | CMQC.MQSO_CREATE | CMQC.MQOO_FAIL_IF_QUIESCING);
标签:mq,java,message-queue,ibm-mq 来源: https://codeday.me/bug/20190829/1764424.html