Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
0.24
Description
Description of problem:
There is a defined standard amqp1.0 property: first-acquirer. The broker shall support setting this property accordingly.
If this value is true, then this message has not been acquired by any other link. If this value is false, then this message MAY have previously been acquired by another link or links.
Version-Release number of selected component (if applicable):
qpid-cpp-*-0.22-33
How reproducible:
100%
Steps to Reproduce:
compile and run program:
#include <qpid/messaging/Address.h>
#include <qpid/messaging/Connection.h>
#include <qpid/messaging/Receiver.h>
#include <qpid/messaging/Sender.h>
#include <qpid/messaging/Session.h>
#include <qpid/messaging/Message.h>
#include <iostream>
using namespace std;
using namespace qpid::messaging;
int main(int argc, char ** argv)
{
string queue="q;
";
string broker="127.0.0.1:5672";
if (argc > 1)
queue=argv[1];
if (argc > 2)
broker=argv[2];
for (unsigned i=0; i<2; i++)
{
Connection connection = Connection(broker, "
");
connection.open();
Session session = connection.createSession();
if (i==0)
session.createSender(queue).send(Message());
Receiver receiver = session.createReceiver(queue);
Message msg = receiver.fetch();
cout << "Properties: " << msg.getProperties() << endl;
connection.close();
}
return 0;
}
Actual results:
first-acquirer property is not set by the broker
Expected results:
first-acquirer property is set to true by the broker in the first message, and unset (or set to false) in the second message
Additional info: