Representation of a server side message.
206207208209210211212213214215216217
/** * Tests enqueuing two messages. */ public void testEnqueueTwoMessagesThenRegisterSubscription() throws Exception { ServerMessage messageA = createMessage(new Long(24)); ServerMessage messageB = createMessage(new Long(25)); _queue.enqueue(messageA); _queue.enqueue(messageB); _queue.registerSubscription(_subscription, false); Thread.sleep(150); assertEquals(messageB, _subscription.getQueueContext().getLastSeenEntry().getMessage());
233234235236237238239240241242243244245
{ queueEntries.add(entry); } }; ServerMessage messageA = createMessage(new Long(24)); ServerMessage messageB = createMessage(new Long(25)); ServerMessage messageC = createMessage(new Long(26)); /* Enqueue three messages */ _queue.enqueue(messageA, postEnqueueAction); _queue.enqueue(messageB, postEnqueueAction);
283284285286287288289290291292293294295296
} }; /* Enqueue one message with expiration set for a short time in the future */ ServerMessage messageA = createMessage(new Long(24)); int messageExpirationOffset = 200; final long expiration = System.currentTimeMillis() + messageExpirationOffset; when(messageA.getExpiration()).thenReturn(expiration); _queue.enqueue(messageA, postEnqueueAction); int subFlushWaitTime = 150; Thread.sleep(subFlushWaitTime); // Work done by SubFlushRunner/QueueRunner Threads
328329330331332333334335336337338339340
381382383384385386387388389390391392
{ queueEntries.add(entry); } }; ServerMessage messageA = createMessage(new Long(24)); ServerMessage messageB = createMessage(new Long(25)); /* Enqueue two messages */ _queue.enqueue(messageA, postEnqueueAction); _queue.enqueue(messageB, postEnqueueAction);
415416417418419420421422423424425
_queue.getConsumerCount()); assertEquals("Queue does not have active consumer", 1, _queue.getActiveConsumerCount()); // Check sending a message ends up with the subscriber ServerMessage messageA = createMessage(new Long(24)); _queue.enqueue(messageA); try { Thread.sleep(2000L); }
460461462463464465466467468469470
{ _queue.stop(); _queue = new SimpleAMQQueue(UUIDGenerator.generateRandomUUID(), _qname, false, null, true, false, _virtualHost, Collections.EMPTY_MAP); _queue.setDeleteOnNoConsumers(true); _queue.registerSubscription(_subscription, false); ServerMessage message = createMessage(new Long(25)); _queue.enqueue(message); _queue.unregisterSubscription(_subscription); assertTrue("Queue was not deleted when subscription was removed", _queue.isDeleted()); }
471472473474475476477478479480481
public void testResend() throws Exception { _queue.registerSubscription(_subscription, false); Long id = new Long(26); ServerMessage message = createMessage(id); _queue.enqueue(message); QueueEntry entry = _subscription.getQueueContext().getLastSeenEntry(); entry.setRedelivered(); _queue.resend(entry, _subscription);
483484485486487488489490491492493
public void testGetFirstMessageId() throws Exception { // Create message Long messageId = new Long(23); ServerMessage message = createMessage(messageId); // Put message on queue _queue.enqueue(message); // Get message id Long testmsgid = _queue.getMessagesOnTheQueue(1).get(0);
500501502503504505506507508509510
{ for (int i = 0 ; i < 5; i++) { // Create message Long messageId = new Long(i); ServerMessage message = createMessage(messageId); // Put message on queue _queue.enqueue(message); } // Get message ids List<Long> msgids = _queue.getMessagesOnTheQueue(5);