Bug 507369

Summary: Provide means to prevent JMS client consumers creating queues automatically
Product: Red Hat Enterprise MRG Reporter: Gordon Sim <gsim>
Component: qpid-javaAssignee: Rafael H. Schloming <rafaels>
Status: CLOSED ERRATA QA Contact: Jan Sarenik <jsarenik>
Severity: medium Docs Contact:
Priority: high    
Version: 1.1CC: jsarenik, tao, tross
Target Milestone: 1.1.6   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-07-14 17:32:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
patch to add system properties for controlling queue and exchange declares none

Description Gordon Sim 2009-06-22 14:32:37 UTC
Description of problem:

When a MessageConsumer is created using the qpid JMS client, it will automatically create the queue it wants to consume from. This is often incorrect behaviour and there is no way to turn it off.

Comment 1 Rafael H. Schloming 2009-06-24 20:53:05 UTC
Created attachment 349306 [details]
patch to add system properties for controlling queue and exchange declares

Comment 2 Gordon Sim 2009-06-26 09:24:27 UTC
Fixed in qpid-java-0.5.751061-8

To verify the fix, run the consumer/listener from the direct example with -Dqpid.declare_queues=false. This should fail with an exception stating that the queue is not found. The queue can then be created using qpid-config and the consumer/listener should now be able to subscribe without error.

Comment 3 Jan Sarenik 2009-07-02 11:39:31 UTC
Works as expected, just that Producer does not complain
at all that the queue it is trying to fill does not exist.

Whoen I create the queue with 'qpid-config', both Listener
and Consumer (not at once) recieve the messages.

When the queue is not defined and I run it with
-Dqpid.declare_queues=false, these are the last lines:
--------------------------------------------------------
Consumer: Caught an Exception: org.apache.qpid.transport.SessionException: ch=0 id=0 ExecutionException(errorCode=NOT_FOUND, commandId=2, classCode=7, commandCode=4, fieldIndex=0, description=not-found: Queue not found: message_queue (qpid/broker/SessionAdapter.cpp:742), errorInfo={})

Listener: Caught an Exception: org.apache.qpid.transport.SessionException: ch=0 id=0 ExecutionException(errorCode=NOT_FOUND, commandId=2, classCode=7, commandCode=4, fieldIndex=0, description=not-found: Queue not found: message_queue (qpid/broker/SessionAdapter.cpp:742), errorInfo={})

Comment 5 errata-xmlrpc 2009-07-14 17:32:26 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2009-1153.html