Description of problem:
Sending QMFv2 requests from the Java client fails because the the app-id is not set.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
Write a java client app to send a map message QMFv2 request to the broker.
Broker ignores request.
Broker acts on request.
The Java client needs to set the x-amqp-0-10.app-id property.
See https://issues.apache.org/jira/browse/QPID-3302 for the patch.
could you write some short example, that reproduces failure ?
you wrote at JIRA, that you fixed this bug with some test case.
We found you commit r1153274 and there was no test case attached.
Would you kindly post a link or upload this test case to bugzilla ?
This issue is tracked in upstream via QPID-3302
A fix is committed in upstream, details as follows,
The test case is committed at http://svn.apache.org/viewvc?view=rev&rev=1140413
It's a junit test case that is run as part of the java build.
The basic idea of the test case is,
1. Create a JMS connection, session and a message consumer & producer.
Connection con = new AMQConnection("amqp://username:password@clientid/test?brokerlist='tcp://localhost:5672'");
Session ssn = (AMQSession) con.createSession(false, Session.CLIENT_ACKNOWLEDGE);
Topic topic = ssn.createTopic("test");
MessageConsumer consumer = ssn.createConsumer(topic);
MessageProducer prod = ssn.createProducer(topic);
2. Create a message and set the app id as follows,
Message m = ssn.createMessage();
3. Send the msg and try to receive it.
Message msg = consumer.receive(1000);
4. Verify that you can retrieve the app id from the message and verify it.
Created attachment 521012 [details]
Example of QMF usage
I took the new testcase and compile it with other unit tests, but the test case is already passing with the old version, which it should not.
I think the new 'testApplicationProperties()' in .../JMSPropertiesTest.java does not testing exactly the bug. But I found an example of QMF usage and it looks like to be a good reproducer. Could you please look at it and check it, if it's correct ?
Created attachment 522148 [details]
That QMF example is correct and you could use that to verify it.
I also attached a simple reproducer that tests specifically for this.
Feel free to use both to verify the fixes. Ping me on irc if u have questions.
Fix was tested on:
RHEL 5.7 x86/x64
RHEL 6.1 x86/x64
changing to VERIFIED
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.