@Override public boolean hasMoreElements() { if (current == null) { try { current = consumer.receiveImmediate(); } catch (ActiveMQException e) { return false; } } return current != null; }
coreMessage = consumer.receiveImmediate(); } else { coreMessage = consumer.receive(timeout);
@Override public boolean hasMoreElements() { if (current == null) { try { current = consumer.receiveImmediate(); } catch (ActiveMQException e) { return false; } } return current != null; }
@Override public boolean hasMoreElements() { if (current == null) { try { current = consumer.receiveImmediate(); } catch (ActiveMQException e) { return false; } } return current != null; }
@Override public boolean hasMoreElements() { if (current == null) { try { current = consumer.receiveImmediate(); } catch (ActiveMQException e) { return false; } } return current != null; }
@Override public boolean hasMoreElements() { if (current == null) { try { current = consumer.receiveImmediate(); } catch (ActiveMQException e) { return false; } } return current != null; }
@Override public void run() throws ActiveMQException { consumer.receiveImmediate(); } });
protected void verifyNotReceive(final int... consumerIDs) throws Exception { for (int i = 0; i < consumerIDs.length; i++) { ConsumerHolder holder = consumers[consumerIDs[i]]; if (holder == null) { throw new IllegalArgumentException("No consumer at " + consumerIDs[i]); } Assert.assertNull("consumer " + i + " received message", holder.consumer.receiveImmediate()); } }
/** * @param consumer * @throws ActiveMQException */ private void assertNoMoreMessages(ClientConsumer consumer) throws ActiveMQException { ClientMessage msg = consumer.receiveImmediate(); Assert.assertNull("there should be no more messages to receive! " + msg, msg); }
protected void assertNoMoreMessages() throws ActiveMQException { session.start(); ClientConsumer consumer = session.createConsumer(ADDRESS); ClientMessage msg = consumer.receiveImmediate(); assertNull("there should be no more messages to receive! " + msg, msg); consumer.close(); session.commit(); }
private void drainConsumer(ClientConsumer consumer, String name, int expectedCount) throws Exception { for (int i = 0; i < expectedCount; i++) { ClientMessage msg = consumer.receive(5000); assertNotNull(msg); msg.acknowledge(); } assertNull(consumer.receiveImmediate()); consumer.close(); } }
@Test public void testBrowse2() throws Exception { conn = getConnectionFactory().createConnection(); Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer producer = session.createProducer(queue1); ActiveMQConnectionFactory cf1 = (ActiveMQConnectionFactory) getConnectionFactory(); ClientSession coreSession = cf1.getServerLocator().createSessionFactory().createSession(true, true); coreSession.start(); ClientConsumer browser = coreSession.createConsumer("Queue1", true); conn.start(); Message m = session.createMessage(); m.setIntProperty("cnt", 0); producer.send(m); Assert.assertNotNull(browser.receiveImmediate()); coreSession.close(); drainDestination(getConnectionFactory(), queue1); }
@Test public void testNonMatchingMessagesFollowedByMatchingMessages() throws Exception { ClientMessage message = session.createMessage(false); message.putStringProperty("animal", "hippo"); producer.send(message); assertNull(consumer.receiveImmediate()); message = session.createMessage(false); message.putStringProperty("animal", "giraffe"); log.info("sending second msg"); producer.send(message); ClientMessage received = consumer.receiveImmediate(); assertNotNull(received); assertEquals("giraffe", received.getStringProperty("animal")); assertNull(consumer.receiveImmediate()); session.close(); }
@Test public void testClearListener() throws Exception { ClientSessionFactory sf = createSessionFactory(locator); ClientSession session = sf.createSession(false, true, true); session.start(); ClientConsumer consumer = session.createConsumer(QUEUE); consumer.setMessageHandler(new MessageHandler() { @Override public void onMessage(final ClientMessage msg) { } }); consumer.setMessageHandler(null); consumer.receiveImmediate(); session.close(); }
private void doConsumerReceiveImmediateWithNoMessages(final boolean browser) throws Exception { locator.setBlockOnNonDurableSend(true).setBlockOnAcknowledge(true).setAckBatchSize(0); sf = createSessionFactory(locator); ClientSession session = sf.createSession(false, true, false); session.createQueue(ADDRESS, QUEUE, null, false); ClientConsumer consumer = session.createConsumer(QUEUE, null, browser); session.start(); ClientMessage message = consumer.receiveImmediate(); Assert.assertNull(message); session.close(); }
private void receiveOnBothNodes(int NUMBER_OF_MESSAGES) throws ActiveMQException { for (int x = 0; x <= 1; x++) { ClientSession sessionX = sfs[x].createSession(); ClientConsumer consumerX = sessionX.createConsumer("queues.0"); sessionX.start(); for (int i = 0; i < NUMBER_OF_MESSAGES / 2; i++) { ClientMessage msg = consumerX.receive(5000); Assert.assertNotNull(msg); msg.acknowledge(); } Assert.assertNull(consumerX.receiveImmediate()); sessionX.commit(); sessionX.close(); } }
@Test public void testSendWithoutXID() throws Exception { // Since both resources have same RM, TM will probably use 1PC optimization ServerLocator locator = createInVMNonHALocator(); ClientSessionFactory factory = createSessionFactory(locator); ClientSession session = addClientSession(factory.createSession(true, false, false)); session.createQueue("Test", RoutingType.ANYCAST, "Test"); ClientProducer prod = session.createProducer("Test"); prod.send(session.createMessage(true)); session.start(); ClientConsumer cons = session.createConsumer("Test"); assertNotNull("Send went through an invalid XA Session", cons.receiveImmediate()); }
@Test public void testNonDurableMessageOnDurableQueue() throws Exception { boolean durable = true; SimpleString address = RandomUtil.randomSimpleString(); SimpleString queue = RandomUtil.randomSimpleString(); session.createQueue(address, queue, durable); ClientProducer producer = session.createProducer(address); producer.send(session.createMessage(!durable)); restart(); session.start(); ClientConsumer consumer = session.createConsumer(queue); Assert.assertNull(consumer.receiveImmediate()); consumer.close(); session.deleteQueue(queue); }
@Test public void testInVMURI() throws Exception { locator.close(); ServerLocator locator = addServerLocator(ServerLocatorImpl.newLocator("vm:/1")); ClientSessionFactory factory = locator.createSessionFactory(); ClientSession session = factory.createSession(); ClientProducer producer = session.createProducer(QUEUE); producer.send(session.createMessage(true)); ClientConsumer consumer = session.createConsumer(QUEUE); session.start(); Assert.assertNotNull(consumer.receiveImmediate()); session.close(); factory.close(); }
protected void doTestO(final ClientSessionFactory sf, final int threadNum) throws Exception { ClientSession sessCreate = sf.createSession(false, true, true); sessCreate.createQueue(MultiThreadRandomReattachTestBase.ADDRESS, new SimpleString(threadNum + MultiThreadRandomReattachTestBase.ADDRESS.toString()), (SimpleString) null, false); ClientSession sess = sf.createSession(false, true, true); sess.start(); ClientConsumer consumer = sess.createConsumer(new SimpleString(threadNum + MultiThreadRandomReattachTestBase.ADDRESS.toString())); for (int i = 0; i < 100; i++) { Assert.assertNull(consumer.receiveImmediate()); } sess.close(); sessCreate.deleteQueue(new SimpleString(threadNum + MultiThreadRandomReattachTestBase.ADDRESS.toString())); sessCreate.close(); }