Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Can't send to a temporary queue unless model definition type is permanent

32 views
Skip to first unread message

Martin

unread,
Jul 29, 2003, 2:02:06 PM7/29/03
to
Hi,

I am attemting to use the standard java jms RequestReply class.
However replying to the temporary queue fails with the following
exception if the SYSTEM.DEFAULT.MODEL.QUEUE has a 'Temporary'
'Definition Type'. Setting the model queue's 'Definition Type' to
'Permanent' fixes the problem but then the queue is not automatically
deleted.

Can anybody offer any suggestions on using a Temporary Queue.

javax.jms.JMSException: MQJMS2007: failed to send message to MQ queue
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:530)
at com.ibm.mq.jms.MQQueueSender.sendInternal(MQQueueSender.java:816)
at com.ibm.mq.jms.MQQueueSender.send(MQQueueSender.java:232)
at com.ibm.mq.jms.MQQueueSender.send(MQQueueSender.java:265)
at com.mycompany.meterdetails.MeterDetailsMDB.onMessage(MeterDetailsMDB.java:122)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:276)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:228)
at com.ibm.mq.jms.MQQueueReceiver.receiveAsync(MQQueueReceiver.java:861)
at com.ibm.mq.jms.SessionAsyncHelper.run(SessionAsyncHelper.java:401)
at java.lang.Thread.run(Thread.java:479)
Linked error: com.ibm.mq.MQException: MQJE001: Completion Code 2,
Reason 2048
at com.ibm.mq.MQQueue.putMsg2(MQQueue.java:1364)
at com.ibm.mq.jms.MQQueueSender.sendInternal(MQQueueSender.java:796)
at com.ibm.mq.jms.MQQueueSender.send(MQQueueSender.java:232)
at com.ibm.mq.jms.MQQueueSender.send(MQQueueSender.java:265)
at com.mycompany.meterdetails.MeterDetailsMDB.onMessage(MeterDetailsMDB.java:122)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:276)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:228)
at com.ibm.mq.jms.MQQueueReceiver.receiveAsync(MQQueueReceiver.java:861)
at com.ibm.mq.jms.SessionAsyncHelper.run(SessionAsyncHelper.java:401)
at java.lang.Thread.run(Thread.java:479)

thanks in advance

Martin

Martin

unread,
Jul 29, 2003, 6:16:25 PM7/29/03
to
Solved it:
queueSender.setDeliveryMode(DeliveryMode.NON_PERSISTENT);

the default mode is persistent, but you can't send persistent messages
to a temporary queue.

mjde...@ntlworld.com (Martin) wrote in message news:<66a027fb.03072...@posting.google.com>...

0 new messages