diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2014-09-23 13:00:05 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2014-09-23 13:00:05 +0000 |
| commit | fbc287bd02a6bb91b709b798abfb859d8223fc43 (patch) | |
| tree | 0632659ef806e8eace91234ba3e0dd3323a26a83 /qpid/java/systests/src | |
| parent | 61f7f00e14a5ef25f01bac4a14611f9598540c80 (diff) | |
| download | qpid-python-fbc287bd02a6bb91b709b798abfb859d8223fc43.tar.gz | |
QPID-3678 : [Java Client] Add support for setting link capacity to zero in ADDR addresses
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1626995 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/systests/src')
| -rw-r--r-- | qpid/java/systests/src/test/java/org/apache/qpid/test/client/destination/AddressBasedDestinationTest.java | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/qpid/java/systests/src/test/java/org/apache/qpid/test/client/destination/AddressBasedDestinationTest.java b/qpid/java/systests/src/test/java/org/apache/qpid/test/client/destination/AddressBasedDestinationTest.java index 1161e8dd59..0458313a4c 100644 --- a/qpid/java/systests/src/test/java/org/apache/qpid/test/client/destination/AddressBasedDestinationTest.java +++ b/qpid/java/systests/src/test/java/org/apache/qpid/test/client/destination/AddressBasedDestinationTest.java @@ -454,6 +454,45 @@ public class AddressBasedDestinationTest extends QpidBrokerTestCase checkQueueForBindings(jmsSession,dest2,headersBinding); } + public void testZeroCapacityForSynchronousReceive() throws Exception + { + Session session1 = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + Session session2 = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + String addressString = "ADDR:my-queue; {create: always, link:{capacity: 0}}"; + Queue session1queue = session1.createQueue(addressString); + Queue session2queue = session1.createQueue(addressString); + MessageConsumer consumer1 = session1.createConsumer(session1queue); + MessageConsumer consumer1withSelector = session1.createConsumer(session1queue, "key1 = 1"); + MessageConsumer consumer2withSelector = session2.createConsumer(session2queue, "key2 = 2"); + + _connection.start(); + + MessageProducer producer = session1.createProducer(session1queue); + + Message m = session1.createMessage(); + m.setIntProperty("key1", 1); + m.setIntProperty("key2", 2); + producer.send(m); + + m = session1.createMessage(); + m.setIntProperty("key1", 1); + producer.send(m); + + m = session1.createMessage(); + producer.send(m); + + m = session1.createMessage(); + m.setIntProperty("key2", 2); + producer.send(m); + + assertNotNull("First message from queue should be received",consumer1withSelector.receive(1000l)); + assertNotNull("Last message on queue should be received", consumer2withSelector.receive(1000l)); + assertNotNull("Second message from queue should be received", consumer1.receive(1000l)); + assertNull("Only message remaining shouldn't match selector",consumer1withSelector.receive(500l)); + assertNotNull("Should have been one message remaining on queue",consumer1.receive(1000l)); + assertNull("No messages should be remaining on queue",consumer1.receive(500l)); + } + /** * Test goal: Verifies the capacity property in address string is handled properly. * Test strategy: |
