Here are the examples of the java api class org.apache.activemq.artemis.jms.client.ActiveMQQueue taken from open source projects.
1. JMSQueueControlTest#testRetryMessage()
Project: activemq-artemis
File: JMSQueueControlTest.java
File: JMSQueueControlTest.java
/** * Test retrying a specific message on DLQ. * Expected to be sent back to original queue. * @throws Exception */ @Test public void testRetryMessage() throws Exception { ActiveMQQueue dlq = createDLQ(RandomUtil.randomString()); ActiveMQQueue testQueue = createTestQueueWithDLQ(RandomUtil.randomString(), dlq); String messageID = JMSUtil.sendMessages(testQueue, 1)[0]; Connection connection = createConnection(); connection.start(); Session session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE); MessageConsumer consumer = session.createConsumer(testQueue); consumer.receive(500L); // All <numMessagesToTest> messages should now be on DLQ session.rollback(); JMSQueueControl testQueueControl = createManagementControl(testQueue); JMSQueueControl dlqQueueControl = createManagementControl(dlq); Assert.assertEquals(0, getMessageCount(testQueueControl)); Assert.assertEquals(1, getMessageCount(dlqQueueControl)); dlqQueueControl.retryMessage(messageID); Assert.assertEquals(1, getMessageCount(testQueueControl)); Assert.assertEquals(0, getMessageCount(dlqQueueControl)); }
2. ReferenceableTest#testReferenceQueue()
Project: activemq-artemis
File: ReferenceableTest.java
File: ReferenceableTest.java
@Test public void testReferenceQueue() throws Exception { Reference queueRef = ((Referenceable) queue1).getReference(); String factoryName = queueRef.getFactoryClassName(); Class<?> factoryClass = Class.forName(factoryName); DestinationObjectFactory factory = (DestinationObjectFactory) factoryClass.newInstance(); Object instance = factory.getObjectInstance(queueRef, null, null, null); ProxyAssertSupport.assertTrue(instance instanceof ActiveMQDestination); ActiveMQQueue queue2 = (ActiveMQQueue) instance; ProxyAssertSupport.assertEquals(queue1.getQueueName(), queue2.getQueueName()); simpleSendReceive(cf, queue2); }
3. JMSServerManagerImpl#addQueueToBindingRegistry()
Project: activemq-artemis
File: JMSServerManagerImpl.java
File: JMSServerManagerImpl.java
@Override public boolean addQueueToBindingRegistry(final String queueName, final String registryBinding) throws Exception { checkInitialised(); checkBindings(registryBinding); ActiveMQQueue destination = queues.get(queueName); if (destination == null) { throw new IllegalArgumentException("Queue does not exist"); } if (destination.getQueueName() == null) { throw new IllegalArgumentException(queueName + " is not a queue"); } boolean added = bindToBindings(registryBinding, destination); if (added) { addToBindings(queueBindings, queueName, registryBinding); storage.addBindings(PersistedType.Queue, queueName, registryBinding); } return added; }
4. JMSQueueControlTest#testRetryMessages()
Project: activemq-artemis
File: JMSQueueControlTest.java
File: JMSQueueControlTest.java
/** * Test retrying all messages put on DLQ - i.e. they should appear on the original queue. * @throws Exception */ @Test public void testRetryMessages() throws Exception { ActiveMQQueue dlq = createDLQ(RandomUtil.randomString()); ActiveMQQueue testQueue = createTestQueueWithDLQ(RandomUtil.randomString(), dlq); final int numMessagesToTest = 10; JMSUtil.sendMessages(testQueue, numMessagesToTest); Connection connection = createConnection(); connection.start(); Session session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE); MessageConsumer consumer = session.createConsumer(testQueue); for (int i = 0; i < numMessagesToTest; i++) { Message msg = consumer.receive(500L); } // All <numMessagesToTest> messages should now be on DLQ session.rollback(); JMSQueueControl testQueueControl = createManagementControl(testQueue); JMSQueueControl dlqQueueControl = createManagementControl(dlq); Assert.assertEquals(0, getMessageCount(testQueueControl)); Assert.assertEquals(numMessagesToTest, getMessageCount(dlqQueueControl)); Assert.assertEquals(10, getMessageCount(dlqQueueControl)); dlqQueueControl.retryMessages(); Assert.assertEquals(numMessagesToTest, getMessageCount(testQueueControl)); Assert.assertEquals(0, getMessageCount(dlqQueueControl)); connection.close(); }
5. TopicControlUsingJMSTest#setUp()
Project: activemq-artemis
File: TopicControlUsingJMSTest.java
File: TopicControlUsingJMSTest.java
// Package protected --------------------------------------------- // Protected ----------------------------------------------------- @Override @Before public void setUp() throws Exception { super.setUp(); Configuration config = createDefaultInVMConfig().setJMXManagementEnabled(true); server = addServer(ActiveMQServers.newActiveMQServer(config, mbeanServer, false)); server.start(); serverManager = new JMSServerManagerImpl(server); serverManager.start(); serverManager.setRegistry(new JndiBindingRegistry(new InVMNamingContext())); serverManager.activated(); clientID = RandomUtil.randomString(); subscriptionName = RandomUtil.randomString(); String topicName = RandomUtil.randomString(); serverManager.createTopic(false, topicName, topicBinding); topic = (ActiveMQTopic) ActiveMQJMSClient.createTopic(topicName); ActiveMQConnectionFactory cf = ActiveMQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF, new TransportConfiguration(INVM_CONNECTOR_FACTORY)); connection = cf.createQueueConnection(); session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); connection.start(); ActiveMQQueue managementQueue = (ActiveMQQueue) ActiveMQJMSClient.createQueue("activemq.management"); proxy = new JMSMessagingProxy(session, managementQueue, ResourceNames.JMS_TOPIC + topic.getTopicName()); }
6. JMSQueueControlTest#testQueueAddJndiWithRealData()
Project: activemq-artemis
File: JMSQueueControlTest.java
File: JMSQueueControlTest.java
/** * on this testContaining WithRealData will use real data on the journals * * @throws Exception */ @Test public void testQueueAddJndiWithRealData() throws Exception { String testQueueName = "testQueueAddJndi"; serverManager.createQueue(true, testQueueName, null, true, testQueueName); ActiveMQQueue testQueue = (ActiveMQQueue) ActiveMQJMSClient.createQueue(testQueueName); JMSQueueControl queueControl = createManagementControl(testQueue); String[] bindings = queueControl.getRegistryBindings(); String newJndi = "newTestQueueAddJndi"; for (String b : bindings) { assertFalse(b.equals(newJndi)); } queueControl.addBinding(newJndi); bindings = queueControl.getRegistryBindings(); boolean newBindingAdded = false; for (String b : bindings) { if (b.equals(newJndi)) { newBindingAdded = true; } } assertTrue(newBindingAdded); serverManager.stop(); serverManager.start(); testQueue = (ActiveMQQueue) ActiveMQJMSClient.createQueue(testQueueName); queueControl = createManagementControl(testQueue); bindings = queueControl.getRegistryBindings(); newBindingAdded = false; for (String b : bindings) { if (b.equals(newJndi)) { newBindingAdded = true; } } assertTrue(newBindingAdded); }
7. JMSQueueControlTest#testDeleteWithPagingAndFilter()
Project: activemq-artemis
File: JMSQueueControlTest.java
File: JMSQueueControlTest.java
@Test public void testDeleteWithPagingAndFilter() throws Exception { AddressSettings pagedSetting = new AddressSettings().setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE).setPageSizeBytes(10 * 1024).setMaxSizeBytes(100 * 1024); server.getAddressSettingsRepository().addMatch("#", pagedSetting); serverManager.createQueue(true, "pagedTest", null, true, "/queue/pagedTest"); ActiveMQQueue pagedQueue = (ActiveMQQueue) context.lookup("/queue/pagedTest"); ServerLocator locator = createInVMNonHALocator(); ClientSessionFactory sf = createSessionFactory(locator); ClientSession session = sf.createSession(true, true); ClientProducer prod = session.createProducer(pagedQueue.getAddress()); for (int i = 0; i < 200; i++) { ClientMessage msg = session.createMessage(true); msg.getBodyBuffer().writeBytes(new byte[90 * 1024]); msg.putBooleanProperty("even", i % 2 == 0); prod.send(msg); } JMSQueueControl control = createManagementControl(pagedQueue); assertEquals(100, control.removeMessages("even=true")); session.start(); ClientConsumer consumer = session.createConsumer(pagedQueue.getAddress()); for (int i = 0; i < 100; i++) { ClientMessage msg = consumer.receive(1000); assertNotNull(msg); msg.acknowledge(); assertFalse(msg.getBooleanProperty("even").booleanValue()); } assertNull(consumer.receive(300)); session.close(); sf.close(); locator.close(); }
8. JMSQueueControlTest#testDeleteWithPaging()
Project: activemq-artemis
File: JMSQueueControlTest.java
File: JMSQueueControlTest.java
@Test public void testDeleteWithPaging() throws Exception { AddressSettings pagedSetting = new AddressSettings().setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE).setPageSizeBytes(10 * 1024).setMaxSizeBytes(100 * 1024); server.getAddressSettingsRepository().addMatch("#", pagedSetting); serverManager.createQueue(true, "pagedTest", null, true, "/queue/pagedTest"); ActiveMQQueue pagedQueue = (ActiveMQQueue) context.lookup("/queue/pagedTest"); ServerLocator locator = createInVMNonHALocator(); ClientSessionFactory sf = createSessionFactory(locator); ClientSession session = sf.createSession(true, true); ClientProducer prod = session.createProducer(pagedQueue.getAddress()); ClientMessage msg = session.createMessage(true); msg.getBodyBuffer().writeBytes(new byte[90 * 1024]); for (int i = 0; i < 100; i++) { prod.send(msg); } JMSQueueControl control = createManagementControl(pagedQueue); assertEquals(100, control.removeMessages(" ")); session.start(); ClientConsumer consumer = session.createConsumer(pagedQueue.getAddress()); assertNull(consumer.receive(300)); session.close(); sf.close(); locator.close(); }
9. JMSQueueControlTest#testRetryMessagesOnTopic()
Project: activemq-artemis
File: JMSQueueControlTest.java
File: JMSQueueControlTest.java
/** * Test retrying all messages put on DLQ - i.e. they should appear on the original queue. * @throws Exception */ @Test public void testRetryMessagesOnTopic() throws Exception { ActiveMQQueue dlq = createDLQ(RandomUtil.randomString()); ActiveMQTopic testTopic = createTestTopicWithDLQ(RandomUtil.randomString(), dlq); Connection connectionConsume = createConnection(); connectionConsume.setClientID("ID"); Session sessionConsume = connectionConsume.createSession(true, Session.SESSION_TRANSACTED); MessageConsumer cons1 = sessionConsume.createDurableSubscriber(testTopic, "sub1"); MessageConsumer cons2 = sessionConsume.createDurableSubscriber(testTopic, "sub2"); final int numMessagesToTest = 10; JMSUtil.sendMessages(testTopic, numMessagesToTest); connectionConsume.start(); for (int i = 0; i < numMessagesToTest; i++) { Assert.assertNotNull(cons1.receive(500)); } sessionConsume.commit(); Assert.assertNull(cons1.receiveNoWait()); connectionConsume.start(); for (int i = 0; i < numMessagesToTest; i++) { cons2.receive(500); } sessionConsume.rollback(); Assert.assertNull(cons2.receiveNoWait()); JMSQueueControl dlqQueueControl = createManagementControl(dlq); dlqQueueControl.retryMessages(); Assert.assertNull("Retry is sending back to cons1 even though it succeeded", cons1.receiveNoWait()); for (int i = 0; i < numMessagesToTest; i++) { Assert.assertNotNull(cons2.receive(500)); } sessionConsume.commit(); Assert.assertNull(cons1.receiveNoWait()); connectionConsume.close(); }
10. JMSQueueControlTest#createTestQueueWithDLQ()
Project: activemq-artemis
File: JMSQueueControlTest.java
File: JMSQueueControlTest.java
protected ActiveMQQueue createTestQueueWithDLQ(final String queueName, final ActiveMQQueue dlq) throws Exception { serverManager.createQueue(false, queueName, null, true, queueName); ActiveMQQueue testQueue = (ActiveMQQueue) ActiveMQJMSClient.createQueue(queueName); AddressSettings addressSettings = new AddressSettings(); addressSettings.setDeadLetterAddress(new SimpleString(dlq.getAddress())); addressSettings.setMaxDeliveryAttempts(1); server.getAddressSettingsRepository().addMatch(testQueue.getAddress(), addressSettings); return testQueue; }
11. JMSQueueControlTest#testSendMessagesToDeadLetterAddress()
Project: activemq-artemis
File: JMSQueueControlTest.java
File: JMSQueueControlTest.java
@Test public void testSendMessagesToDeadLetterAddress() throws Exception { String key = "key"; long matchingValue = RandomUtil.randomLong(); long unmatchingValue = matchingValue + 1; String filter = "key = " + matchingValue; String deadLetterQueue = RandomUtil.randomString(); serverManager.createQueue(false, deadLetterQueue, null, true, deadLetterQueue); ActiveMQQueue dlq = (ActiveMQQueue) ActiveMQJMSClient.createQueue(deadLetterQueue); AddressSettings addressSettings = new AddressSettings().setDeadLetterAddress(new SimpleString(dlq.getAddress())); server.getAddressSettingsRepository().addMatch(queue.getAddress(), addressSettings); Connection conn = createConnection(); Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); // send 2 messages on queue JMSUtil.sendMessageWithProperty(sess, queue, key, matchingValue); JMSUtil.sendMessageWithProperty(sess, queue, key, unmatchingValue); JMSQueueControl queueControl = createManagementControl(); JMSQueueControl dlqControl = ManagementControlHelper.createJMSQueueControl(dlq, mbeanServer); Assert.assertEquals(2, getMessageCount(queueControl)); Assert.assertEquals(0, getMessageCount(dlqControl)); // queueControl.setDeadLetterAddress(dlq.getAddress()); int deadMessageCount = queueControl.sendMessagesToDeadLetterAddress(filter); Assert.assertEquals(1, deadMessageCount); Assert.assertEquals(1, getMessageCount(queueControl)); Assert.assertEquals(1, getMessageCount(dlqControl)); conn.start(); MessageConsumer consumer = sess.createConsumer(queue); Message message = consumer.receive(500); Assert.assertNotNull(message); Assert.assertEquals(unmatchingValue, message.getLongProperty(key)); // check there is a single message to consume from deadletter queue JMSUtil.consumeMessages(1, dlq); conn.close(); serverManager.destroyQueue(deadLetterQueue); }
12. JMSQueueControlTest#testSendMessageToDeadLetterAddress()
Project: activemq-artemis
File: JMSQueueControlTest.java
File: JMSQueueControlTest.java
@Test public void testSendMessageToDeadLetterAddress() throws Exception { String deadLetterQueue = RandomUtil.randomString(); serverManager.createQueue(false, deadLetterQueue, null, true, deadLetterQueue); ActiveMQQueue dlq = (ActiveMQQueue) ActiveMQJMSClient.createQueue(deadLetterQueue); AddressSettings addressSettings = new AddressSettings().setDeadLetterAddress(new SimpleString(dlq.getAddress())); server.getAddressSettingsRepository().addMatch(queue.getAddress(), addressSettings); Connection conn = createConnection(); Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer producer = sess.createProducer(queue); // send 2 messages on queue Message message = sess.createMessage(); producer.send(message); producer.send(sess.createMessage()); conn.close(); JMSQueueControl queueControl = createManagementControl(); JMSQueueControl dlqControl = ManagementControlHelper.createJMSQueueControl(dlq, mbeanServer); Assert.assertEquals(2, getMessageCount(queueControl)); Assert.assertEquals(0, getMessageCount(dlqControl)); // queueControl.setDeadLetterAddress(dlq.getAddress()); boolean movedToDeadLetterAddress = queueControl.sendMessageToDeadLetterAddress(message.getJMSMessageID()); Assert.assertTrue(movedToDeadLetterAddress); Assert.assertEquals(1, getMessageCount(queueControl)); Assert.assertEquals(1, getMessageCount(dlqControl)); // check there is a single message to consume from queue JMSUtil.consumeMessages(1, queue); // check there is a single message to consume from deadletter queue JMSUtil.consumeMessages(1, dlq); serverManager.destroyQueue(deadLetterQueue); }
13. JMSQueueControlTest#testExpireMessage()
Project: activemq-artemis
File: JMSQueueControlTest.java
File: JMSQueueControlTest.java
@Test public void testExpireMessage() throws Exception { JMSQueueControl queueControl = createManagementControl(); String expiryQueueName = RandomUtil.randomString(); ActiveMQQueue expiryQueue = (ActiveMQQueue) ActiveMQJMSClient.createQueue(expiryQueueName); serverManager.createQueue(false, expiryQueueName, null, true, expiryQueueName); AddressSettings addressSettings = new AddressSettings().setExpiryAddress(new SimpleString(expiryQueue.getAddress())); server.getAddressSettingsRepository().addMatch(queue.getAddress(), addressSettings); // queueControl.setExpiryAddress(expiryQueue.getAddress()); JMSQueueControl expiryQueueControl = ManagementControlHelper.createJMSQueueControl(expiryQueue, mbeanServer); String[] messageIDs = JMSUtil.sendMessages(queue, 1); Assert.assertEquals(1, getMessageCount(queueControl)); Assert.assertEquals(0, getMessageCount(expiryQueueControl)); Assert.assertTrue(queueControl.expireMessage(messageIDs[0])); Assert.assertEquals(0, getMessageCount(queueControl)); Assert.assertEquals(1, getMessageCount(expiryQueueControl)); Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName()); connection.start(); MessageConsumer consumer = JMSUtil.createConsumer(connection, expiryQueue); Message message = consumer.receive(500); Assert.assertNotNull(message); Assert.assertEquals(messageIDs[0], message.getJMSMessageID()); connection.close(); }