@Test public void testQueueWithWildcard3() throws Exception { session.createQueue("a.b", RoutingType.MULTICAST, "queue1"); session.createTemporaryQueue("a.#", RoutingType.MULTICAST, "queue2"); session.createTemporaryQueue("a.#", RoutingType.MULTICAST, "queue2.1"); session.deleteQueue("queue2"); }
protected void doTestK(final ClientSessionFactory sf) throws Exception { ClientSession s = sf.createSession(false, false, false); s.createQueue(RandomReattachTest.ADDRESS, RandomReattachTest.ADDRESS, null, false); final int numConsumers = 100; for (int i = 0; i < numConsumers; i++) { ClientConsumer consumer = s.createConsumer(RandomReattachTest.ADDRESS); consumer.close(); } s.deleteQueue(RandomReattachTest.ADDRESS); s.close(); }
@Test public void testMessageExpiredWithoutExpiryAddress() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); SimpleString queue = RandomUtil.randomSimpleString(); session.createQueue(address, queue, false); ClientProducer producer = session.createProducer(address); ClientMessage message = session.createMessage(false); message.setExpiration(System.currentTimeMillis() + MessageExpirationTest.EXPIRATION); producer.send(message); Thread.sleep(MessageExpirationTest.EXPIRATION * 2); session.start(); ClientConsumer consumer = session.createConsumer(queue); ClientMessage message2 = consumer.receiveImmediate(); Assert.assertNull(message2); consumer.close(); session.deleteQueue(queue); }
@Test public void testPaginStoreIsRemovedWhenQueueIsDeleted() throws Exception { SimpleString queue = RandomUtil.randomSimpleString(); SimpleString address = RandomUtil.randomSimpleString(); session.createTemporaryQueue(address, queue); ClientProducer producer = session.createProducer(address); ClientMessage msg = session.createMessage(false); producer.send(msg); session.start(); ClientConsumer consumer = session.createConsumer(queue); ClientMessage message = consumer.receive(500); assertNotNull(message); message.acknowledge(); SimpleString[] storeNames = server.getPagingManager().getStoreNames(); assertTrue(Arrays.asList(storeNames).contains(address)); consumer.close(); session.deleteQueue(queue); session.close(); storeNames = server.getPagingManager().getStoreNames(); assertFalse(Arrays.asList(storeNames).contains(address)); }
@Test public void testDeleteQueueNotExist() throws Exception { ClientSession session = createSessionFactory(locator).createSession(false, true, true); try { session.deleteQueue(queueName); Assert.fail("should throw exception"); } catch (ActiveMQNonExistentQueueException neqe) { //ok } catch (ActiveMQException e) { fail("Invalid Exception type:" + e.getType()); } session.close(); }
protected void doTestA(final ClientSessionFactory sf, final int threadNum, final ClientSession session2) throws Exception { SimpleString subName = new SimpleString("sub" + threadNum); ClientSession session = addClientSession(sf.createSession(false, true, true)); session.createQueue(MultiThreadRandomReattachTestBase.ADDRESS, subName, (SimpleString) null, false); ClientProducer producer = session.createProducer(MultiThreadRandomReattachTestBase.ADDRESS); ClientConsumer consumer = session.createConsumer(subName); final int numMessages = 100; sendMessages(session, producer, numMessages, threadNum); session.start(); MyHandler handler = new MyHandler(threadNum, numMessages); consumer.setMessageHandler(handler); boolean ok = handler.latch.await(LATCH_WAIT, TimeUnit.MILLISECONDS); if (!ok) { throw new Exception("Timed out waiting for messages on handler " + System.identityHashCode(handler) + " threadnum " + threadNum); } if (handler.failure != null) { throw new Exception("Handler failed: " + handler.failure); } producer.close(); consumer.close(); session.deleteQueue(subName); session.close(); }
@Test public void testGetMessageCount() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); SimpleString queue = RandomUtil.randomSimpleString(); session.createQueue(address, RoutingType.MULTICAST, queue, null, durable); QueueControl queueControl = createManagementControl(address, queue); Assert.assertEquals(0, getMessageCount(queueControl)); ClientProducer producer = session.createProducer(address); producer.send(session.createMessage(durable)); assertMessageMetrics(queueControl, 1, durable); consumeMessages(1, session, queue); assertMessageMetrics(queueControl, 0, durable); session.deleteQueue(queue); }
@Test public void testListMessageCounterAsHTML() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); SimpleString queue = RandomUtil.randomSimpleString(); session.createQueue(address, RoutingType.MULTICAST, queue, null, durable); QueueControl queueControl = createManagementControl(address, queue); String history = queueControl.listMessageCounterAsHTML(); Assert.assertNotNull(history); session.deleteQueue(queue); }
@Test public void testConsumeFromTemporaryQueue() throws Exception { SimpleString queue = RandomUtil.randomSimpleString(); SimpleString address = RandomUtil.randomSimpleString(); session.createTemporaryQueue(address, queue); ClientProducer producer = session.createProducer(address); ClientMessage msg = session.createMessage(false); producer.send(msg); session.start(); ClientConsumer consumer = session.createConsumer(queue); ClientMessage message = consumer.receive(500); assertNotNull(message); message.acknowledge(); consumer.close(); session.deleteQueue(queue); session.close(); }
protected void doTestJ(final ClientSessionFactory sf) throws Exception { ClientSession sessCreate = sf.createSession(false, true, true); sessCreate.createQueue(RandomReattachTest.ADDRESS, RandomReattachTest.ADDRESS, null, false); ClientSession sess = sf.createSession(false, true, true); sess.start(); ClientConsumer consumer = sess.createConsumer(RandomReattachTest.ADDRESS); ClientProducer producer = sess.createProducer(RandomReattachTest.ADDRESS); ClientMessage message = sess.createMessage(ActiveMQTextMessage.TYPE, false, 0, System.currentTimeMillis(), (byte) 1); producer.send(message); ClientMessage message2 = consumer.receive(RandomReattachTest.RECEIVE_TIMEOUT); Assert.assertNotNull(message2); message2.acknowledge(); sess.close(); sessCreate.deleteQueue(RandomReattachTest.ADDRESS); sessCreate.close(); }
protected ClientSession checkSessionOrReconnect(ClientSession session, ServerLocator locator) throws Exception { try { String rand = RandomUtil.randomString(); session.createQueue(rand, RoutingType.MULTICAST, rand); session.deleteQueue(rand); return session; } catch (ActiveMQObjectClosedException oce) { ClientSessionFactory sf = createSessionFactory(locator); return sf.createSession(); } catch (ActiveMQUnBlockedException obe) { ClientSessionFactory sf = createSessionFactory(locator); return sf.createSession(); } }
@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 testGetAddress() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); SimpleString queue = RandomUtil.randomSimpleString(); session.createQueue(address, queue, false); AddressControl addressControl = createManagementControl(address); Assert.assertEquals(address.toString(), addressControl.getAddress()); session.deleteQueue(queue); }
protected void doTestI(final ClientSessionFactory sf) throws Exception { ClientSession sessCreate = sf.createSession(false, true, true); sessCreate.createQueue(RandomReattachTest.ADDRESS, RandomReattachTest.ADDRESS, null, false); ClientSession sess = sf.createSession(false, true, true); sess.start(); ClientConsumer consumer = sess.createConsumer(RandomReattachTest.ADDRESS); ClientProducer producer = sess.createProducer(RandomReattachTest.ADDRESS); ClientMessage message = sess.createMessage(ActiveMQTextMessage.TYPE, false, 0, System.currentTimeMillis(), (byte) 1); producer.send(message); ClientMessage message2 = consumer.receive(RandomReattachTest.RECEIVE_TIMEOUT); Assert.assertNotNull(message2); message2.acknowledge(); sess.close(); sessCreate.deleteQueue(RandomReattachTest.ADDRESS); sessCreate.close(); }
protected void doTestK(final ClientSessionFactory sf, final int threadNum) throws Exception { ClientSession s = sf.createSession(false, false, false); s.addMetaData("data", RandomUtil.randomString()); s.createQueue(MultiThreadRandomReattachTestBase.ADDRESS, new SimpleString(threadNum + MultiThreadRandomReattachTestBase.ADDRESS.toString()), (SimpleString) null, false); final int numConsumers = 100; for (int i = 0; i < numConsumers; i++) { ClientConsumer consumer = s.createConsumer(new SimpleString(threadNum + MultiThreadRandomReattachTestBase.ADDRESS.toString())); consumer.close(); } s.deleteQueue(new SimpleString(threadNum + MultiThreadRandomReattachTestBase.ADDRESS.toString())); s.close(); }
@Test public void testDurableMessageOnDurableQueue() 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.assertNotNull(consumer.receive(500)); consumer.close(); session.deleteQueue(queue); }
@Test public void testBINDING_ADDEDWithNonMatchingFilter() throws Exception { SimpleString queue = RandomUtil.randomSimpleString(); SimpleString address = RandomUtil.randomSimpleString(); boolean durable = RandomUtil.randomBoolean(); System.out.println(queue); notifConsumer.close(); notifConsumer = session.createConsumer(notifQueue.toString(), ManagementHelper.HDR_ROUTING_NAME + " <> '" + queue + "' AND " + ManagementHelper.HDR_ADDRESS + " <> '" + address + "'"); NotificationTest.flush(notifConsumer); session.createQueue(address, queue, durable); NotificationTest.consumeMessages(0, notifConsumer); session.deleteQueue(queue); }
protected void doTestI(final ClientSessionFactory sf, final int threadNum) throws Exception { ClientSession sessCreate = sf.createSession(false, true, true); sessCreate.addMetaData("data", RandomUtil.randomString()); sessCreate.createQueue(MultiThreadRandomReattachTestBase.ADDRESS, new SimpleString(threadNum + MultiThreadRandomReattachTestBase.ADDRESS.toString()), (SimpleString) null, false); ClientSession sess = sf.createSession(false, true, true); sess.addMetaData("data", RandomUtil.randomString()); sess.start(); ClientConsumer consumer = sess.createConsumer(new SimpleString(threadNum + MultiThreadRandomReattachTestBase.ADDRESS.toString())); ClientProducer producer = sess.createProducer(MultiThreadRandomReattachTestBase.ADDRESS); ClientMessage message = sess.createMessage(ActiveMQTextMessage.TYPE, false, 0, System.currentTimeMillis(), (byte) 1); producer.send(message); ClientMessage message2 = consumer.receive(MultiThreadRandomReattachTestBase.RECEIVE_TIMEOUT); Assert.assertNotNull(message2); message2.acknowledge(); sess.close(); sessCreate.deleteQueue(new SimpleString(threadNum + MultiThreadRandomReattachTestBase.ADDRESS.toString())); sessCreate.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(); }
@Test public void testConsumeFromDurableQueue() throws Exception { SimpleString queue = RandomUtil.randomSimpleString(); SimpleString address = RandomUtil.randomSimpleString(); session.createQueue(address, queue, true); ClientProducer producer = session.createProducer(address); producer.send(session.createMessage(false)); session.start(); ClientConsumer consumer = session.createConsumer(queue); ClientMessage message = consumer.receive(500); Assert.assertNotNull(message); message.acknowledge(); consumer.close(); session.deleteQueue(queue); }