JMS createQueue麻烦

时间:2009-09-18 19:55:53

标签: jms websphere

您好我在JMS中使用createQueue时遇到问题。我可以成功创建一个队列,但在我尝试执行以下操作后,它就失败了。有任何想法吗?感谢。

QueueSender mySender = mySession.createSender(myQueue);

错误:

javax.jms.InvalidDestinationException: CWSIA0062E: Failed to create a MessageProducer for queue://Q2?busName=myBus2
    at com.ibm.ws.sib.api.jms.impl.JmsMsgProducerImpl.<init>(JmsMsgProducerImpl.java:396)
    at com.ibm.ws.sib.api.jms.impl.JmsQueueSenderImpl.<init>(JmsQueueSenderImpl.java:60)
    at com.ibm.ws.sib.api.jms.impl.JmsQueueSessionImpl.instantiateProducer(JmsQueueSessionImpl.java:224)
    at com.ibm.ws.sib.api.jms.impl.JmsSessionImpl.createProducer(JmsSessionImpl.java:865)
    at com.ibm.ws.sib.api.jms.impl.JmsQueueSessionImpl.createSender(JmsQueueSessionImpl.java:147)

1 个答案:

答案 0 :(得分:1)

JMS异常是一个多级数据结构,其中较低级别是JMS传输提供程序放置特定于供应商的错误,而最高级别是JMS API中的错误。从堆栈跟踪中很难分辨出这个类别属于哪个类别。请注意,这不是WebSphere MQ的事情,而是JMS的事情。作为最佳实践,始终打印JMS链接的异常!

这里有一段代码片段: http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/topic/com.ibm.mq.csqzaw.doc/uj24500_.htm

顺便提一下,虽然这被标记为WebSphere MQ,但堆栈跟踪表明它是用作JMS传输的WebSphere App Server的SI Bus类。但是,该建议适用于任何传输提供商的JMS,我仍然建议打印链接的异常以查看此处的实际情况。