You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by an...@apache.org on 2016/11/09 13:13:40 UTC
[4/6] activemq-artemis git commit: removal of all JMS control objects
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/a6f1167d/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSQueueControlTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSQueueControlTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSQueueControlTest.java
deleted file mode 100644
index c257933..0000000
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSQueueControlTest.java
+++ /dev/null
@@ -1,1688 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.activemq.artemis.tests.integration.jms.server.management;
-
-import javax.jms.BytesMessage;
-import javax.jms.Connection;
-import javax.jms.JMSException;
-import javax.jms.MapMessage;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.Session;
-import javax.json.JsonArray;
-import javax.management.Notification;
-import javax.management.openmbean.CompositeData;
-import javax.naming.Context;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.activemq.artemis.api.core.JsonUtil;
-import org.apache.activemq.artemis.api.core.SimpleString;
-import org.apache.activemq.artemis.api.core.TransportConfiguration;
-import org.apache.activemq.artemis.api.core.client.ClientConsumer;
-import org.apache.activemq.artemis.api.core.client.ClientMessage;
-import org.apache.activemq.artemis.api.core.client.ClientProducer;
-import org.apache.activemq.artemis.api.core.client.ClientSession;
-import org.apache.activemq.artemis.api.core.client.ClientSessionFactory;
-import org.apache.activemq.artemis.api.core.client.ServerLocator;
-import org.apache.activemq.artemis.api.core.management.ObjectNameBuilder;
-import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient;
-import org.apache.activemq.artemis.api.jms.JMSFactoryType;
-import org.apache.activemq.artemis.api.jms.management.DestinationControl;
-import org.apache.activemq.artemis.api.jms.management.JMSQueueControl;
-import org.apache.activemq.artemis.api.jms.management.JMSServerControl;
-import org.apache.activemq.artemis.core.config.Configuration;
-import org.apache.activemq.artemis.core.registry.JndiBindingRegistry;
-import org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnectorFactory;
-import org.apache.activemq.artemis.core.server.ActiveMQServer;
-import org.apache.activemq.artemis.core.settings.impl.AddressFullMessagePolicy;
-import org.apache.activemq.artemis.core.settings.impl.AddressSettings;
-import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
-import org.apache.activemq.artemis.jms.client.ActiveMQDestination;
-import org.apache.activemq.artemis.jms.client.ActiveMQJMSConnectionFactory;
-import org.apache.activemq.artemis.jms.client.ActiveMQQueue;
-import org.apache.activemq.artemis.jms.client.ActiveMQTopic;
-import org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl;
-import org.apache.activemq.artemis.jms.server.management.JMSNotificationType;
-import org.apache.activemq.artemis.reader.MessageUtil;
-import org.apache.activemq.artemis.tests.integration.management.ManagementControlHelper;
-import org.apache.activemq.artemis.tests.integration.management.ManagementTestBase;
-import org.apache.activemq.artemis.tests.unit.util.InVMNamingContext;
-import org.apache.activemq.artemis.utils.RandomUtil;
-import org.apache.activemq.artemis.utils.UUIDGenerator;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * A QueueControlTest
- * <br>
- * on this testContaining WithRealData will use real data on the journals
- */
-public class JMSQueueControlTest extends ManagementTestBase {
-
- private ActiveMQServer server;
-
- private JMSServerManagerImpl serverManager;
-
- protected ActiveMQQueue queue;
-
- protected String queueName;
-
- protected Context context;
-
- @Test
- public void testGetAttributes() throws Exception {
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertEquals(queue.getName(), queueControl.getName());
- Assert.assertEquals(queue.getAddress(), queueControl.getAddress());
- Assert.assertEquals(queue.isTemporary(), queueControl.isTemporary());
- }
-
- @Test
- public void testGetXXXCount() throws Exception {
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertEquals(0, getMessageCount(queueControl));
- Assert.assertEquals(0, queueControl.getConsumerCount());
-
- Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
- MessageConsumer consumer = JMSUtil.createConsumer(connection, queue);
-
- Assert.assertEquals(1, queueControl.getConsumerCount());
-
- JsonArray jsonArray = JsonUtil.readJsonArray(queueControl.listConsumersAsJSON());
-
- assertEquals(1, jsonArray.size());
-
- JMSUtil.sendMessages(queue, 2);
-
- Assert.assertEquals(2, getMessageCount(queueControl));
- Assert.assertEquals(2, getMessagesAdded(queueControl));
-
- connection.start();
-
- Assert.assertNotNull(consumer.receive(500));
- Assert.assertNotNull(consumer.receive(500));
-
- Assert.assertEquals(0, getMessageCount(queueControl));
- Assert.assertEquals(2, getMessagesAdded(queueControl));
-
- consumer.close();
-
- Assert.assertEquals(0, queueControl.getConsumerCount());
-
- connection.close();
- }
-
- @Test
- public void testListMessagesWithNullFilter() throws Exception {
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertEquals(0, getMessageCount(queueControl));
-
- String[] ids = JMSUtil.sendMessages(queue, 2);
-
- Assert.assertEquals(2, getMessageCount(queueControl));
-
- Map<String, Object>[] data = queueControl.listMessages(null);
- Assert.assertEquals(2, data.length);
- System.out.println(data[0].keySet());
- Assert.assertEquals(ids[0], data[0].get("JMSMessageID").toString());
- Assert.assertEquals(ids[1], data[1].get("JMSMessageID").toString());
-
- JMSUtil.consumeMessages(2, queue);
-
- data = queueControl.listMessages(null);
- Assert.assertEquals(0, data.length);
- }
-
- @Test
- public void testSendTextMessage() throws Exception {
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertEquals(0, getMessageCount(queueControl));
-
- String id = queueControl.sendTextMessage(new HashMap<String, String>(), "theBody", "myUser", "myPassword");
-
- Assert.assertEquals(1, getMessageCount(queueControl));
-
- CompositeData[] data = queueControl.browse();
- Assert.assertEquals(1, data.length);
- Assert.assertEquals("ID:" + id, data[0].get("JMSMessageID"));
- Assert.assertEquals("theBody", data[0].get("Text"));
- System.out.println(data[0]);
-
- }
-
- @Test
- public void testBrowseMessagesWithNullFilter() throws Exception {
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertEquals(0, getMessageCount(queueControl));
-
- String[] ids = JMSUtil.sendMessages(queue, 2);
-
- Assert.assertEquals(2, getMessageCount(queueControl));
-
- CompositeData[] data = queueControl.browse();
- Assert.assertEquals(2, data.length);
- System.out.println(data[0]);
- Assert.assertEquals(ids[0], data[0].get("JMSMessageID").toString());
- Assert.assertEquals(ids[1], data[1].get("JMSMessageID").toString());
-
- JMSUtil.consumeMessages(2, queue);
-
- data = queueControl.browse();
- Assert.assertEquals(0, data.length);
- }
-
- @Test
- public void testBrowseMessagesWithNullFilterReplyTo() throws Exception {
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertEquals(0, getMessageCount(queueControl));
- Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
- Message m = JMSUtil.sendMessageWithReplyTo(session, queue, "foo");
-
- Assert.assertEquals(1, getMessageCount(queueControl));
-
- CompositeData[] data = queueControl.browse();
- Assert.assertEquals(1, data.length);
- Assert.assertEquals(1, data.length);
- Assert.assertNotNull(data[0].get("JMSReplyTo"));
- Assert.assertEquals("queue://foo", data[0].get("JMSReplyTo"));
- System.out.println(data[0]);
-
- JMSUtil.consumeMessages(1, queue);
-
- data = queueControl.browse();
- Assert.assertEquals(0, data.length);
- connection.close();
- }
-
- @Test
- public void testBrowseMessagesWithAllProps() throws Exception {
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertEquals(0, getMessageCount(queueControl));
- Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
- JMSUtil.sendMessageWithProperty(session, queue, MessageUtil.CORRELATIONID_HEADER_NAME.toString(), "foo");
-
- Assert.assertEquals(1, getMessageCount(queueControl));
-
- CompositeData[] data = queueControl.browse();
- Assert.assertEquals(1, data.length);
- Assert.assertNotNull(data[0].get(MessageUtil.CORRELATIONID_HEADER_NAME.toString()));
- Assert.assertEquals("foo", data[0].get(MessageUtil.CORRELATIONID_HEADER_NAME.toString()));
- System.out.println(data[0]);
-
- JMSUtil.consumeMessages(1, queue);
-
- JMSUtil.sendMessageWithProperty(session, queue, MessageUtil.JMSXGROUPID.toString(), "myGroupID");
-
- Assert.assertEquals(1, getMessageCount(queueControl));
-
- data = queueControl.browse();
- Assert.assertEquals(1, data.length);
- Assert.assertNotNull(data[0].get(MessageUtil.JMSXGROUPID.toString()));
- Assert.assertEquals("myGroupID", data[0].get(MessageUtil.JMSXGROUPID.toString()));
- System.out.println(data[0]);
-
- JMSUtil.consumeMessages(1, queue);
-
- JMSUtil.sendMessageWithProperty(session, queue, "JMSXGroupSeq", 33);
-
- Assert.assertEquals(1, getMessageCount(queueControl));
-
- data = queueControl.browse();
- Assert.assertEquals(1, data.length);
- Assert.assertNotNull(data[0].get("JMSXGroupID"));
- Assert.assertEquals(33, data[0].get("JMSXGroupSeq"));
- System.out.println(data[0]);
-
- JMSUtil.consumeMessages(1, queue);
-
- JMSUtil.sendMessageWithProperty(session, queue, MessageUtil.JMSXUSERID.toString(), "theheadhonch");
-
- Assert.assertEquals(1, getMessageCount(queueControl));
-
- data = queueControl.browse();
- Assert.assertEquals(1, data.length);
- Assert.assertNotNull(data[0].get(MessageUtil.JMSXUSERID.toString()));
- Assert.assertEquals("theheadhonch", data[0].get(MessageUtil.JMSXUSERID.toString()));
- System.out.println(data[0]);
-
- JMSUtil.consumeMessages(1, queue);
-
- data = queueControl.browse();
- Assert.assertEquals(0, data.length);
- connection.close();
- }
-
- @Test
- public void testBrowseBytesMessages() throws Exception {
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertEquals(0, getMessageCount(queueControl));
-
- ActiveMQJMSConnectionFactory cf = (ActiveMQJMSConnectionFactory) ActiveMQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF, new TransportConfiguration(InVMConnectorFactory.class.getName()));
-
- Connection conn = cf.createConnection();
- conn.start();
- Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
- byte[] bytes = RandomUtil.randomBytes(201);
-
- BytesMessage message = JMSUtil.sendByteMessage(session, queue, bytes);
-
- Assert.assertEquals(1, getMessageCount(queueControl));
-
- CompositeData[] data = queueControl.browse();
- Assert.assertEquals(1, data.length);
- Assert.assertNotNull(data[0].get("BodyLength"));
- Assert.assertEquals(201L, data[0].get("BodyLength"));
- Assert.assertNotNull(data[0].get("BodyPreview"));
- Assert.assertArrayEquals(message.getBody(byte[].class), (byte[]) data[0].get("BodyPreview"));
- System.out.println(data[0]);
-
- JMSUtil.consumeMessages(1, queue);
-
- bytes = RandomUtil.randomBytes(301);
-
- message = JMSUtil.sendByteMessage(session, queue, bytes);
-
- Assert.assertEquals(1, getMessageCount(queueControl));
-
- data = queueControl.browse();
- Assert.assertEquals(1, data.length);
- Assert.assertNotNull(data[0].get("BodyLength"));
- Assert.assertEquals(301L, data[0].get("BodyLength"));
- Assert.assertNotNull(data[0].get("BodyPreview"));
- byte[] body = message.getBody(byte[].class);
- Assert.assertArrayEquals(Arrays.copyOf(body, 255), (byte[]) data[0].get("BodyPreview"));
- System.out.println(data[0]);
- JMSUtil.consumeMessages(1, queue);
-
- data = queueControl.browse();
- Assert.assertEquals(0, data.length);
- conn.close();
- }
-
- @Test
- public void testBrowseMapMessages() throws Exception {
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertEquals(0, getMessageCount(queueControl));
-
- ActiveMQJMSConnectionFactory cf = (ActiveMQJMSConnectionFactory) ActiveMQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF, new TransportConfiguration(InVMConnectorFactory.class.getName()));
-
- Connection conn = cf.createConnection();
- conn.start();
- Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
- MessageProducer producer = session.createProducer(queue);
- MapMessage message = session.createMapMessage();
- message.setString("stringP", "aStringP");
- message.setBoolean("booleanP", true);
- message.setByte("byteP", (byte) 1);
- message.setChar("charP", 'q');
- message.setDouble("doubleP", 3.2);
- message.setFloat("floatP", 4.5F);
- message.setInt("intP", 8);
- message.setLong("longP", 7);
- message.setShort("shortP", (short) 777);
- producer.send(message);
-
- Assert.assertEquals(1, getMessageCount(queueControl));
-
- CompositeData[] data = queueControl.browse();
- Assert.assertEquals(1, data.length);
- String contentMap = (String) data[0].get("ContentMap");
- Assert.assertNotNull(contentMap);
- Assert.assertTrue(contentMap.contains("intP=8"));
- Assert.assertTrue(contentMap.contains("floatP=4.5"));
- Assert.assertTrue(contentMap.contains("longP=7"));
- Assert.assertTrue(contentMap.contains("charP=q"));
- Assert.assertTrue(contentMap.contains("byteP=1"));
- Assert.assertTrue(contentMap.contains("doubleP=3.2"));
- Assert.assertTrue(contentMap.contains("stringP=aStringP"));
- Assert.assertTrue(contentMap.contains("booleanP=true"));
- Assert.assertTrue(contentMap.contains("shortP=777"));
- System.out.println(data[0]);
-
- JMSUtil.consumeMessages(1, queue);
-
- data = queueControl.browse();
- Assert.assertEquals(0, data.length);
- conn.close();
- }
-
- @Test
- public void testListDeliveringMessages() throws Exception {
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertEquals(0, queueControl.getMessageCount());
-
- String[] ids = JMSUtil.sendMessages(queue, 20);
-
- ActiveMQJMSConnectionFactory cf = (ActiveMQJMSConnectionFactory) ActiveMQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF, new TransportConfiguration(InVMConnectorFactory.class.getName()));
-
- Connection conn = cf.createConnection();
- conn.start();
- Session session = conn.createSession(true, Session.SESSION_TRANSACTED);
-
- MessageConsumer consumer = session.createConsumer(queue);
-
- for (int i = 0; i < 20; i++) {
- Assert.assertNotNull(consumer.receive(5000));
- }
-
- Assert.assertEquals(20, queueControl.getMessageCount());
-
- Map<String, Map<String, Object>[]> deliverings = queueControl.listDeliveringMessages();
-
- // Just one consumer.. so just one queue
- Assert.assertEquals(1, deliverings.size());
-
- for (Map.Entry<String, Map<String, Object>[]> deliveryEntry : deliverings.entrySet()) {
- System.out.println("Key:" + deliveryEntry.getKey());
-
- for (int i = 0; i < 20; i++) {
- Assert.assertEquals(ids[i], deliveryEntry.getValue()[i].get("JMSMessageID").toString());
- }
- }
-
- session.rollback();
- session.close();
-
- JMSUtil.consumeMessages(20, queue);
- }
-
- @Test
- public void testListMessagesAsJSONWithNullFilter() throws Exception {
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertEquals(0, getMessageCount(queueControl));
-
- String[] ids = JMSUtil.sendMessages(queue, 2);
-
- Assert.assertEquals(2, getMessageCount(queueControl));
-
- String jsonString = queueControl.listMessagesAsJSON(null);
- Assert.assertNotNull(jsonString);
- JsonArray array = JsonUtil.readJsonArray(jsonString);
- Assert.assertEquals(2, array.size());
- Assert.assertEquals(ids[0], array.getJsonObject(0).getString("JMSMessageID"));
- Assert.assertEquals(ids[1], array.getJsonObject(1).getString("JMSMessageID"));
-
- JMSUtil.consumeMessages(2, queue);
-
- jsonString = queueControl.listMessagesAsJSON(null);
- Assert.assertNotNull(jsonString);
- array = JsonUtil.readJsonArray(jsonString);
- Assert.assertEquals(0, array.size());
- }
-
- @Test
- public void testRemoveMessage() throws Exception {
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertEquals(0, getMessageCount(queueControl));
-
- JMSUtil.sendMessages(queue, 2);
-
- Assert.assertEquals(2, getMessageCount(queueControl));
-
- Map<String, Object>[] data = queueControl.listMessages(null);
- Assert.assertEquals(2, data.length);
-
- System.out.println(data[0]);
- // retrieve the first message info
- Set<String> keySet = data[0].keySet();
- Iterator<String> it = keySet.iterator();
- while (it.hasNext()) {
- System.out.println(it.next());
- }
- String messageID = (String) data[0].get("JMSMessageID");
-
- queueControl.removeMessage(messageID.toString());
-
- Assert.assertEquals(1, getMessageCount(queueControl));
- }
-
- @Test
- public void testRemoveMessageWithUnknownMessage() throws Exception {
- String unknownMessageID = RandomUtil.randomString();
-
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertEquals(0, getMessageCount(queueControl));
-
- try {
- queueControl.removeMessage(unknownMessageID);
- Assert.fail("should throw an exception is the message ID is unknown");
- } catch (Exception e) {
- }
- }
-
- @Test
- public void testRemoveAllMessages() throws Exception {
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertEquals(0, getMessageCount(queueControl));
-
- JMSUtil.sendMessages(queue, 2);
-
- Assert.assertEquals(2, getMessageCount(queueControl));
-
- queueControl.removeMessages(null);
-
- Assert.assertEquals(0, getMessageCount(queueControl));
-
- Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
- connection.start();
-
- MessageConsumer consumer = JMSUtil.createConsumer(connection, queue);
- Assert.assertNull(consumer.receiveNoWait());
-
- connection.close();
- }
-
- @Test
- public void testRemoveMatchingMessages() throws Exception {
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertEquals(0, getMessageCount(queueControl));
-
- Connection conn = createConnection();
-
- Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
- MessageProducer producer = s.createProducer(queue);
-
- Message message = s.createMessage();
- message.setStringProperty("foo", "bar");
- producer.send(message);
-
- message = s.createMessage();
- message.setStringProperty("foo", "baz");
- producer.send(message);
-
- Assert.assertEquals(2, getMessageCount(queueControl));
-
- int removedMatchingMessagesCount = queueControl.removeMessages("foo = 'bar'");
- Assert.assertEquals(1, removedMatchingMessagesCount);
-
- Assert.assertEquals(1, getMessageCount(queueControl));
-
- conn.start();
- MessageConsumer consumer = JMSUtil.createConsumer(conn, queue);
- Message msg = consumer.receive(500);
- Assert.assertNotNull(msg);
- Assert.assertEquals("baz", msg.getStringProperty("foo"));
-
- conn.close();
- }
-
- @Test
- public void testChangeMessagePriority() throws Exception {
- JMSQueueControl queueControl = createManagementControl();
-
- JMSUtil.sendMessages(queue, 1);
-
- Assert.assertEquals(1, getMessageCount(queueControl));
-
- Map<String, Object>[] data = queueControl.listMessages(null);
- // retrieve the first message info
- String messageID = (String) data[0].get("JMSMessageID");
- int currentPriority = ((Number) data[0].get("JMSPriority")).intValue();
- int newPriority = 9;
-
- Assert.assertTrue(newPriority != currentPriority);
-
- queueControl.changeMessagePriority(messageID.toString(), newPriority);
-
- Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
- connection.start();
- MessageConsumer consumer = JMSUtil.createConsumer(connection, queue);
- Message message = consumer.receive(500);
- Assert.assertNotNull(message);
- Assert.assertEquals(newPriority, message.getJMSPriority());
-
- connection.close();
- }
-
- @Test
- public void testChangeMessagePriorityWithInvalidPriority() throws Exception {
- byte invalidPriority = (byte) 23;
-
- JMSQueueControl queueControl = createManagementControl();
-
- String[] messageIDs = JMSUtil.sendMessages(queue, 1);
-
- Assert.assertEquals(1, getMessageCount(queueControl));
-
- try {
- queueControl.changeMessagePriority(messageIDs[0], invalidPriority);
- Assert.fail("must throw an exception if the new priority is not a valid value");
- } catch (Exception e) {
- }
-
- Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
- connection.start();
- MessageConsumer consumer = JMSUtil.createConsumer(connection, queue);
- Message message = consumer.receive(500);
- Assert.assertNotNull(message);
- Assert.assertTrue(message.getJMSPriority() != invalidPriority);
-
- connection.close();
- }
-
- @Test
- public void testChangeMessagePriorityWithUnknownMessageID() throws Exception {
- String unknownMessageID = RandomUtil.randomString();
-
- JMSQueueControl queueControl = createManagementControl();
-
- try {
- queueControl.changeMessagePriority(unknownMessageID, 7);
- Assert.fail();
- } catch (Exception e) {
- }
- }
-
- @Test
- public void testChangeMessagesPriority() throws Exception {
- String key = "key";
- long matchingValue = RandomUtil.randomLong();
- long unmatchingValue = matchingValue + 1;
- String filter = "key = " + matchingValue;
- int newPriority = 9;
-
- Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- // send on queue
- Message msg_1 = JMSUtil.sendMessageWithProperty(session, queue, key, matchingValue);
- Message msg_2 = JMSUtil.sendMessageWithProperty(session, queue, key, unmatchingValue);
-
- JMSQueueControl queueControl = createManagementControl();
- Assert.assertEquals(2, getMessageCount(queueControl));
-
- int changedMessagesCount = queueControl.changeMessagesPriority(filter, newPriority);
- Assert.assertEquals(1, changedMessagesCount);
- Assert.assertEquals(2, getMessageCount(queueControl));
-
- connection.start();
- MessageConsumer consumer = session.createConsumer(queue);
- Message message = consumer.receive(500);
- Assert.assertNotNull(message);
- Assert.assertEquals(msg_1.getJMSMessageID(), message.getJMSMessageID());
- Assert.assertEquals(9, message.getJMSPriority());
- Assert.assertEquals(matchingValue, message.getLongProperty(key));
-
- message = consumer.receive(500);
- Assert.assertNotNull(message);
- Assert.assertEquals(msg_2.getJMSMessageID(), message.getJMSMessageID());
- Assert.assertEquals(unmatchingValue, message.getLongProperty(key));
-
- Assert.assertNull(consumer.receiveNoWait());
-
- connection.close();
- }
-
- @Test
- public void testGetExpiryAddress() throws Exception {
- final SimpleString expiryAddress = RandomUtil.randomSimpleString();
-
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertNull(queueControl.getExpiryAddress());
-
- server.getAddressSettingsRepository().addMatch(queue.getAddress(), new AddressSettings() {
- private static final long serialVersionUID = -7668739851356971411L;
-
- @Override
- public SimpleString getExpiryAddress() {
- return expiryAddress;
- }
- });
-
- Assert.assertEquals(expiryAddress.toString(), queueControl.getExpiryAddress());
- }
-
- @Test
- public void testSetExpiryAddress() throws Exception {
- final String expiryAddress = RandomUtil.randomString();
-
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertNull(queueControl.getExpiryAddress());
-
- AddressSettings addressSettings = new AddressSettings().setExpiryAddress(new SimpleString(expiryAddress));
- server.getAddressSettingsRepository().addMatch(queue.getAddress(), addressSettings);
-
- Assert.assertEquals(expiryAddress, queueControl.getExpiryAddress());
- }
-
- @Test
- public void testDuplicateJNDI() throws Exception {
- String someQueue = RandomUtil.randomString();
- String someOtherQueue = RandomUtil.randomString();
- serverManager.createQueue(false, someQueue, null, true, someQueue, "/duplicate");
- boolean exception = false;
- try {
- serverManager.createQueue(false, someOtherQueue, null, true, someOtherQueue, "/duplicate");
- } catch (Exception e) {
- exception = true;
- }
-
- assertTrue(exception);
- }
-
- @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();
- }
-
- @Test
- public void testExpireMessageWithUnknownMessageID() throws Exception {
- String unknownMessageID = RandomUtil.randomString();
-
- JMSQueueControl queueControl = createManagementControl();
-
- try {
- queueControl.expireMessage(unknownMessageID);
- Assert.fail();
- } catch (Exception e) {
- }
- }
-
- @Test
- public void testExpireMessagesWithFilter() throws Exception {
- String key = new String("key");
- long matchingValue = RandomUtil.randomLong();
- long unmatchingValue = matchingValue + 1;
- String filter = key + " =" + matchingValue;
-
- Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
- // send on queue
- JMSUtil.sendMessageWithProperty(session, queue, key, matchingValue);
- JMSUtil.sendMessageWithProperty(session, queue, key, unmatchingValue);
-
- connection.close();
-
- JMSQueueControl queueControl = createManagementControl();
- Assert.assertEquals(2, getMessageCount(queueControl));
-
- int expiredMessagesCount = queueControl.expireMessages(filter);
- Assert.assertEquals(1, expiredMessagesCount);
- Assert.assertEquals(1, getMessageCount(queueControl));
-
- // consume the unmatched message from queue
- JMSUtil.consumeMessages(1, queue);
- }
-
- @Test
- public void testCountMessagesWithFilter() throws Exception {
- String key = "key";
- long matchingValue = RandomUtil.randomLong();
- long unmatchingValue = matchingValue + 1;
-
- JMSQueueControl queueControl = createManagementControl();
-
- Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
- JMSUtil.sendMessageWithProperty(session, queue, key, matchingValue);
- JMSUtil.sendMessageWithProperty(session, queue, key, unmatchingValue);
- JMSUtil.sendMessageWithProperty(session, queue, key, matchingValue);
-
- Assert.assertEquals(3, getMessageCount(queueControl));
-
- Assert.assertEquals(2, queueControl.countMessages(key + " =" + matchingValue));
- Assert.assertEquals(1, queueControl.countMessages(key + " =" + unmatchingValue));
-
- connection.close();
- }
-
- @Test
- public void testGetDeadLetterAddress() throws Exception {
- final SimpleString deadLetterAddress = RandomUtil.randomSimpleString();
-
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertNull(queueControl.getDeadLetterAddress());
-
- server.getAddressSettingsRepository().addMatch(queue.getAddress(), new AddressSettings() {
- private static final long serialVersionUID = -5979378001862611598L;
-
- @Override
- public SimpleString getDeadLetterAddress() {
- return deadLetterAddress;
- }
- });
-
- Assert.assertEquals(deadLetterAddress.toString(), queueControl.getDeadLetterAddress());
- }
-
- @Test
- public void testSetDeadLetterAddress() throws Exception {
- final String deadLetterAddress = RandomUtil.randomString();
-
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertNull(queueControl.getDeadLetterAddress());
-
- AddressSettings addressSettings = new AddressSettings().setDeadLetterAddress(new SimpleString(deadLetterAddress));
- server.getAddressSettingsRepository().addMatch(queue.getAddress(), addressSettings);
-
- Assert.assertEquals(deadLetterAddress, queueControl.getDeadLetterAddress());
- }
-
- @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);
- }
-
- @Test
- public void testSendMessageToDeadLetterAddressWithUnknownMessageID() throws Exception {
- String unknownMessageID = RandomUtil.randomString();
-
- JMSQueueControl queueControl = createManagementControl();
-
- try {
- queueControl.sendMessageToDeadLetterAddress(unknownMessageID);
- Assert.fail();
- } catch (Exception e) {
- }
-
- }
-
- @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);
- }
-
- @Test
- public void testMoveMessages() throws Exception {
- String otherQueueName = RandomUtil.randomString();
-
- serverManager.createQueue(false, otherQueueName, null, true, otherQueueName);
- ActiveMQDestination otherQueue = (ActiveMQDestination) ActiveMQJMSClient.createQueue(otherQueueName);
-
- // send on queue
- JMSUtil.sendMessages(queue, 2);
-
- JMSQueueControl queueControl = createManagementControl();
- Assert.assertEquals(2, getMessageCount(queueControl));
-
- // moved all messages to otherQueue
- int movedMessagesCount = queueControl.moveMessages(null, otherQueueName);
- Assert.assertEquals(2, movedMessagesCount);
- Assert.assertEquals(0, getMessageCount(queueControl));
-
- // check there is no message to consume from queue
- JMSUtil.consumeMessages(0, queue);
-
- // consume the message from otherQueue
- JMSUtil.consumeMessages(2, otherQueue);
-
- serverManager.destroyQueue(otherQueueName);
- }
-
- @Test
- public void testMoveMessagesToUknownQueue() throws Exception {
- String unknownQueue = RandomUtil.randomString();
-
- JMSQueueControl queueControl = createManagementControl();
-
- try {
- queueControl.moveMessages(null, unknownQueue);
- Assert.fail();
- } catch (Exception e) {
- }
- }
-
- @Test
- public void testMoveMatchingMessages() throws Exception {
- String key = "key";
- long matchingValue = RandomUtil.randomLong();
- long unmatchingValue = matchingValue + 1;
- String filter = "key = " + matchingValue;
- String otherQueueName = RandomUtil.randomString();
-
- serverManager.createQueue(false, otherQueueName, null, true, otherQueueName);
- ActiveMQDestination otherQueue = (ActiveMQDestination) ActiveMQJMSClient.createQueue(otherQueueName);
-
- Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- // send on queue
- JMSUtil.sendMessageWithProperty(session, queue, key, matchingValue);
- JMSUtil.sendMessageWithProperty(session, queue, key, unmatchingValue);
-
- JMSQueueControl queueControl = createManagementControl();
- Assert.assertEquals(2, getMessageCount(queueControl));
-
- // moved matching messages to otherQueue
- int movedMessagesCount = queueControl.moveMessages(filter, otherQueueName);
- Assert.assertEquals(1, movedMessagesCount);
- Assert.assertEquals(1, getMessageCount(queueControl));
-
- connection.start();
- MessageConsumer consumer = session.createConsumer(queue);
- Message message = consumer.receive(500);
- Assert.assertNotNull(message);
- Assert.assertEquals(unmatchingValue, message.getLongProperty(key));
- Assert.assertNull(consumer.receiveNoWait());
-
- JMSUtil.consumeMessages(1, otherQueue);
-
- serverManager.destroyQueue(otherQueueName);
-
- connection.close();
- }
-
- protected ActiveMQQueue createDLQ(final String deadLetterQueueName) throws Exception {
- serverManager.createQueue(false, deadLetterQueueName, null, true, deadLetterQueueName);
- return (ActiveMQQueue) ActiveMQJMSClient.createQueue(deadLetterQueueName);
- }
-
- 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;
- }
-
- protected ActiveMQTopic createTestTopicWithDLQ(final String queueName, final ActiveMQQueue dlq) throws Exception {
- serverManager.createTopic(false, queueName);
- ActiveMQTopic testQueue = (ActiveMQTopic) ActiveMQJMSClient.createTopic(queueName);
- AddressSettings addressSettings = new AddressSettings();
- addressSettings.setDeadLetterAddress(new SimpleString(dlq.getAddress()));
- addressSettings.setMaxDeliveryAttempts(1);
- server.getAddressSettingsRepository().addMatch(testQueue.getAddress(), addressSettings);
- return testQueue;
- }
-
- /**
- * 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);
- }
- session.rollback(); // All <numMessagesToTest> messages should now be on DLQ
-
- 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();
- }
-
- /**
- * 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();
-
- }
-
- /**
- * 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);
- session.rollback(); // All <numMessagesToTest> messages should now be on DLQ
-
- 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));
-
- }
-
- @Test
- public void testMoveMessage() throws Exception {
- String otherQueueName = RandomUtil.randomString();
-
- serverManager.createQueue(false, otherQueueName, null, true, otherQueueName);
- ActiveMQDestination otherQueue = (ActiveMQDestination) ActiveMQJMSClient.createQueue(otherQueueName);
-
- String[] messageIDs = JMSUtil.sendMessages(queue, 1);
-
- JMSQueueControl queueControl = createManagementControl();
- Assert.assertEquals(1, getMessageCount(queueControl));
-
- boolean moved = queueControl.moveMessage(messageIDs[0], otherQueueName);
- Assert.assertTrue(moved);
- Assert.assertEquals(0, getMessageCount(queueControl));
-
- JMSUtil.consumeMessages(0, queue);
- JMSUtil.consumeMessages(1, otherQueue);
-
- serverManager.destroyQueue(otherQueueName);
- }
-
- @Test
- public void testMoveMessagesWithDuplicateIDSet() throws Exception {
- String otherQueueName = RandomUtil.randomString();
-
- serverManager.createQueue(false, otherQueueName, null, true, otherQueueName);
- ActiveMQDestination otherQueue = (ActiveMQDestination) ActiveMQJMSClient.createQueue(otherQueueName);
-
- ServerLocator locator = createInVMNonHALocator();
-
- ClientSessionFactory sf = createSessionFactory(locator);
-
- ClientSession session = sf.createSession(true, true);
-
- ClientProducer prod1 = session.createProducer(queue.getAddress());
- ClientProducer prod2 = session.createProducer(otherQueue.getAddress());
-
- for (int i = 0; i < 10; i++) {
- ClientMessage msg = session.createMessage(true);
-
- msg.putStringProperty(org.apache.activemq.artemis.api.core.Message.HDR_DUPLICATE_DETECTION_ID, new SimpleString("dupl-" + i));
-
- prod1.send(msg);
- if (i < 5) {
- prod2.send(msg);
- }
- }
-
- session.commit();
-
- JMSQueueControl queueControl = createManagementControl();
- JMSQueueControl otherQueueControl = ManagementControlHelper.createJMSQueueControl((ActiveMQQueue) otherQueue, mbeanServer);
-
- Assert.assertEquals(10, getMessageCount(queueControl));
-
- int moved = queueControl.moveMessages(null, otherQueueName, true);
-
- assertEquals(10, moved);
-
- assertEquals(0, queueControl.getDeliveringCount());
-
- session.start();
-
- ClientConsumer cons1 = session.createConsumer(queue.getAddress());
-
- assertNull(cons1.receiveImmediate());
-
- cons1.close();
-
- ClientConsumer cons2 = session.createConsumer(otherQueue.getAddress());
-
- for (int i = 0; i < 10; i++) {
- ClientMessage msg = cons2.receive(10000);
-
- assertNotNull(msg);
-
- msg.acknowledge();
- }
-
- cons2.close();
-
- session.close();
-
- sf.close();
-
- locator.close();
-
- Assert.assertEquals(0, getMessageCount(queueControl));
-
- Assert.assertEquals(0, getMessageCount(otherQueueControl));
-
- serverManager.destroyQueue(otherQueueName);
- }
-
- @Test
- public void testMoveIndividualMessagesWithDuplicateIDSetUsingI() throws Exception {
- String otherQueueName = RandomUtil.randomString();
-
- serverManager.createQueue(false, otherQueueName, null, true, otherQueueName);
- ActiveMQDestination otherQueue = (ActiveMQDestination) ActiveMQJMSClient.createQueue(otherQueueName);
-
- ServerLocator locator = createInVMNonHALocator();
-
- ClientSessionFactory sf = createSessionFactory(locator);
-
- ClientSession session = sf.createSession(true, true);
-
- ClientProducer prod1 = session.createProducer(queue.getAddress());
- ClientProducer prod2 = session.createProducer(otherQueue.getAddress());
-
- String[] ids = new String[10];
-
- for (int i = 0; i < 10; i++) {
- ClientMessage msg = session.createMessage(true);
-
- msg.putStringProperty(org.apache.activemq.artemis.api.core.Message.HDR_DUPLICATE_DETECTION_ID, new SimpleString("dupl-" + i));
-
- msg.setUserID(UUIDGenerator.getInstance().generateUUID());
-
- prod1.send(msg);
-
- ids[i] = "ID:" + msg.getUserID().toString();
- if (i < 5) {
- msg.setUserID(UUIDGenerator.getInstance().generateUUID());
- prod2.send(msg);
- }
- }
-
- session.commit();
-
- JMSQueueControl queueControl = createManagementControl();
- JMSQueueControl otherQueueControl = ManagementControlHelper.createJMSQueueControl((ActiveMQQueue) otherQueue, mbeanServer);
-
- Assert.assertEquals(10, getMessageCount(queueControl));
-
- for (int i = 0; i < 10; i++) {
- queueControl.moveMessage(ids[i], otherQueueName, true);
- }
-
- assertEquals(0, queueControl.getDeliveringCount());
-
- session.start();
-
- ClientConsumer cons1 = session.createConsumer(queue.getAddress());
-
- assertNull(cons1.receiveImmediate());
-
- cons1.close();
-
- ClientConsumer cons2 = session.createConsumer(otherQueue.getAddress());
-
- for (int i = 0; i < 10; i++) {
- ClientMessage msg = cons2.receive(10000);
-
- assertNotNull(msg);
-
- msg.acknowledge();
- }
-
- cons2.close();
-
- session.close();
-
- sf.close();
-
- locator.close();
-
- Assert.assertEquals(0, getMessageCount(queueControl));
-
- Assert.assertEquals(0, getMessageCount(otherQueueControl));
-
- serverManager.destroyQueue(otherQueueName);
- }
-
- @Test
- public void testMoveMessagesWithDuplicateIDSetSingleMessage() throws Exception {
- String otherQueueName = RandomUtil.randomString();
-
- serverManager.createQueue(false, otherQueueName, null, true, otherQueueName);
- ActiveMQDestination otherQueue = (ActiveMQDestination) ActiveMQJMSClient.createQueue(otherQueueName);
-
- ServerLocator locator = createInVMNonHALocator();
-
- ClientSessionFactory sf = createSessionFactory(locator);
-
- ClientSession session = sf.createSession(true, true);
-
- ClientProducer prod1 = session.createProducer(queue.getAddress());
- ClientProducer prod2 = session.createProducer(otherQueue.getAddress());
-
- ClientMessage msg = session.createMessage(true);
-
- msg.putStringProperty(org.apache.activemq.artemis.api.core.Message.HDR_DUPLICATE_DETECTION_ID, new SimpleString("dupl-1"));
-
- prod1.send(msg);
- prod2.send(msg);
-
- JMSQueueControl queueControl = createManagementControl();
- JMSQueueControl otherQueueControl = ManagementControlHelper.createJMSQueueControl((ActiveMQQueue) otherQueue, mbeanServer);
-
- Assert.assertEquals(1, getMessageCount(queueControl));
- Assert.assertEquals(1, getMessageCount(otherQueueControl));
-
- int moved = queueControl.moveMessages(null, otherQueueName, true);
-
- assertEquals(1, moved);
-
- assertEquals(0, queueControl.getDeliveringCount());
-
- session.start();
-
- ClientConsumer cons1 = session.createConsumer(queue.getAddress());
-
- assertNull(cons1.receiveImmediate());
-
- cons1.close();
-
- ClientConsumer cons2 = session.createConsumer(otherQueue.getAddress());
-
- msg = cons2.receive(10000);
-
- assertNotNull(msg);
-
- msg.acknowledge();
-
- cons2.close();
-
- session.close();
-
- sf.close();
-
- locator.close();
-
- Assert.assertEquals(0, getMessageCount(queueControl));
-
- Assert.assertEquals(0, getMessageCount(otherQueueControl));
-
- serverManager.destroyQueue(otherQueueName);
- }
-
- @Test
- public void testMoveMessageWithUnknownMessageID() throws Exception {
- String unknownMessageID = RandomUtil.randomString();
- String otherQueueName = RandomUtil.randomString();
-
- serverManager.createQueue(false, otherQueueName, null, true, otherQueueName);
-
- JMSQueueControl queueControl = createManagementControl();
- Assert.assertEquals(0, getMessageCount(queueControl));
-
- try {
- queueControl.moveMessage(unknownMessageID, otherQueueName);
- Assert.fail();
- } catch (Exception e) {
- }
-
- serverManager.destroyQueue(otherQueueName);
- }
-
- @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);
-
- Assert.assertTrue(waitForMessages(control, 100, 5000));
-
- assertEquals(100, control.removeMessages(" "));
-
- session.start();
-
- ClientConsumer consumer = session.createConsumer(pagedQueue.getAddress());
-
- assertNull(consumer.receive(300));
-
- session.close();
-
- sf.close();
- locator.close();
- }
-
- @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();
- }
-
- @Test
- public void testMoveMessageToUnknownQueue() throws Exception {
- String unknownQueue = RandomUtil.randomString();
-
- String[] messageIDs = JMSUtil.sendMessages(queue, 1);
-
- JMSQueueControl queueControl = createManagementControl();
- Assert.assertEquals(1, getMessageCount(queueControl));
-
- try {
- queueControl.moveMessage(messageIDs[0], unknownQueue);
- Assert.fail();
- } catch (Exception e) {
- }
-
- JMSUtil.consumeMessages(1, queue);
- }
-
- @Test
- public void testPauseAndResume() {
-
- try {
- JMSQueueControl queueControl = createManagementControl();
-
- Assert.assertFalse(queueControl.isPaused());
- queueControl.pause();
- Assert.assertTrue(queueControl.isPaused());
- queueControl.resume();
- Assert.assertFalse(queueControl.isPaused());
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-
- /**
- * 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);
- }
-
- //make sure notifications are always received no matter whether
- //a Queue is created via JMSServerControl or by JMSServerManager directly.
- @Test
- public void testCreateQueueNotification() throws Exception {
- JMSUtil.JMXListener listener = new JMSUtil.JMXListener();
- this.mbeanServer.addNotificationListener(ObjectNameBuilder.DEFAULT.getJMSServerObjectName(), listener, null, null);
-
- List<String> connectors = new ArrayList<>();
- connectors.add("invm");
-
- String testQueueName = "newQueue";
- serverManager.createQueue(true, testQueueName, null, true, testQueueName);
-
- Notification notif = listener.getNotification();
-
- assertEquals(JMSNotificationType.QUEUE_CREATED.toString(), notif.getType());
- assertEquals(testQueueName, notif.getMessage());
-
- this.serverManager.destroyQueue(testQueueName);
-
- notif = listener.getNotification();
- assertEquals(JMSNotificationType.QUEUE_DESTROYED.toString(), notif.getType());
- assertEquals(testQueueName, notif.getMessage());
-
- JMSServerControl control = ManagementControlHelper.createJMSServerControl(mbeanServer);
-
- control.createQueue(testQueueName);
-
- notif = listener.getNotification();
- assertEquals(JMSNotificationType.QUEUE_CREATED.toString(), notif.getType());
- assertEquals(testQueueName, notif.getMessage());
-
- control.destroyQueue(testQueueName);
-
- notif = listener.getNotification();
- assertEquals(JMSNotificationType.QUEUE_DESTROYED.toString(), notif.getType());
- assertEquals(testQueueName, notif.getMessage());
- }
-
- // Package protected ---------------------------------------------
-
- // Protected -----------------------------------------------------
-
- @Override
- @Before
- public void setUp() throws Exception {
- super.setUp();
-
- Configuration config = createDefaultInVMConfig().setJMXManagementEnabled(true);
- server = createServer(this.getName().contains("WithRealData"), config);
- server.setMBeanServer(mbeanServer);
-
- serverManager = new JMSServerManagerImpl(server);
- context = new InVMNamingContext();
- serverManager.setRegistry(new JndiBindingRegistry(context));
- serverManager.start();
- serverManager.activated();
-
- queueName = RandomUtil.randomString();
- serverManager.createQueue(false, queueName, null, true, queueName);
- queue = (ActiveMQQueue) ActiveMQJMSClient.createQueue(queueName);
- }
-
- protected JMSQueueControl createManagementControl() throws Exception {
- return createManagementControl(queue);
- }
-
- protected JMSQueueControl createManagementControl(ActiveMQQueue queueParameter) throws Exception {
- return ManagementControlHelper.createJMSQueueControl(queueParameter, mbeanServer);
- }
-
- protected boolean waitForMessages(DestinationControl control, int count, long timeout) throws Exception {
- long timeToWait = System.currentTimeMillis() + timeout;
-
- while (System.currentTimeMillis() < timeToWait) {
- if (control.getMessageCount() == count) {
- return true;
- }
- Thread.sleep(100);
- }
- return false;
- }
-
- // Private -------------------------------------------------------
-
- private Connection createConnection() throws JMSException {
- ActiveMQConnectionFactory cf = ActiveMQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF, new TransportConfiguration(InVMConnectorFactory.class.getName()));
-
- cf.setBlockOnDurableSend(true);
-
- return cf.createConnection();
- }
-
- // Inner classes -------------------------------------------------
-
-}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/a6f1167d/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSQueueControlUsingJMSTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSQueueControlUsingJMSTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSQueueControlUsingJMSTest.java
deleted file mode 100644
index a105a57..0000000
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/management/JMSQueueControlUsingJMSTest.java
+++ /dev/null
@@ -1,409 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.activemq.artemis.tests.integration.jms.server.management;
-
-import javax.jms.QueueConnection;
-import javax.jms.QueueSession;
-import javax.jms.Session;
-import javax.management.openmbean.CompositeData;
-import java.util.Map;
-
-import org.apache.activemq.artemis.api.core.TransportConfiguration;
-import org.apache.activemq.artemis.api.core.management.Parameter;
-import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient;
-import org.apache.activemq.artemis.api.jms.JMSFactoryType;
-import org.apache.activemq.artemis.api.jms.management.JMSQueueControl;
-import org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnectorFactory;
-import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
-import org.apache.activemq.artemis.jms.client.ActiveMQQueue;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-
-/**
- * A JMSQueueControlUsingJMSTest
- */
-public class JMSQueueControlUsingJMSTest extends JMSQueueControlTest {
- // Constants -----------------------------------------------------
-
- // Attributes ----------------------------------------------------
-
- private QueueConnection connection;
-
- private QueueSession session;
-
- // Static --------------------------------------------------------
-
- // Constructors --------------------------------------------------
-
- // Public --------------------------------------------------------
-
- @Override
- @Before
- public void setUp() throws Exception {
- super.setUp();
-
- ActiveMQConnectionFactory cf = ActiveMQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF, new TransportConfiguration(InVMConnectorFactory.class.getName()));
- connection = cf.createQueueConnection();
- session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
- connection.start();
- }
-
- @Ignore
- @Override
- @Test
- public void testListDeliveringMessages() throws Exception {
- // I'm not implementing the required proxy for this test on this JMS test
- }
-
- @Override
- protected JMSQueueControl createManagementControl() throws Exception {
- ActiveMQQueue managementQueue = (ActiveMQQueue) ActiveMQJMSClient.createQueue("activemq.management");
-
- final JMSMessagingProxy proxy = new JMSMessagingProxy(session, managementQueue, queue.getQueueName());
-
- return new JMSQueueControl() {
-
- @Override
- public void flushExecutor() {
- try {
- proxy.invokeOperation("flushExecutor");
- } catch (Exception e) {
- throw new RuntimeException(e.getMessage(), e);
- }
- }
-
- @Override
- public boolean changeMessagePriority(final String messageID, final int newPriority) throws Exception {
- return (Boolean) proxy.invokeOperation("changeMessagePriority", messageID, newPriority);
- }
-
- @Override
- public int changeMessagesPriority(final String filter, final int newPriority) throws Exception {
- return (Integer) proxy.invokeOperation(Integer.class, "changeMessagesPriority", filter, newPriority);
- }
-
- @Override
- public long countMessages(final String filter) throws Exception {
- return ((Number) proxy.invokeOperation("countMessages", filter)).intValue();
- }
-
- @Override
- public boolean expireMessage(final String messageID) throws Exception {
- return (Boolean) proxy.invokeOperation("expireMessage", messageID);
- }
-
- @Override
- public int expireMessages(final String filter) throws Exception {
- return (Integer) proxy.invokeOperation(Integer.class, "expireMessages", filter);
- }
-
- @Override
- public int getConsumerCount() {
- return (Integer) proxy.retrieveAttributeValue("consumerCount", Integer.class);
- }
-
- @Override
- public long getMessagesExpired() {
- return ((Number) proxy.retrieveAttributeValue("getMessagesExpired")).longValue();
- }
-
- @Override
- public long getMessagesKilled() {
- return ((Number) proxy.retrieveAttributeValue("messagesKilled")).longValue();
- }
-
- @Override
- public String getDeadLetterAddress() {
- return (String) proxy.retrieveAttributeValue("deadLetterAddress");
- }
-
- @Override
- public int getDeliveringCount() {
- return (Integer) proxy.retrieveAttributeValue("deliveringCount", Integer.class);
- }
-
- @Override
- public String getExpiryAddress() {
- return (String) proxy.retrieveAttributeValue("expiryAddress");
- }
-
- @Override
- public String getFirstMessageAsJSON() throws Exception {
- return (String) proxy.retrieveAttributeValue("firstMessageAsJSON");
- }
-
- @Override
- public Long getFirstMessageTimestamp() throws Exception {
- return (Long) proxy.retrieveAttributeValue("firstMessageTimestamp");
- }
-
- @Override
- public Long getFirstMessageAge() throws Exception {
- return (Long) proxy.retrieveAttributeValue("firstMessageAge");
- }
-
- @Override
- public long getMessageCount() {
- return ((Number) proxy.retrieveAttributeValue("messageCount")).longValue();
- }
-
- @Override
- public long getMessagesAdded() {
- return (Integer) proxy.retrieveAttributeValue("messagesAdded", Integer.class);
- }
-
- @Override
- public String getName() {
- return (String) proxy.retrieveAttributeValue("name");
- }
-
- @Override
- public long getScheduledCount() {
- return (Long) proxy.retrieveAttributeValue("scheduledCount");
- }
-
- @Override
- public boolean isTemporary() {
- return (Boolean) proxy.retrieveAttributeValue("temporary");
- }
-
- @Override
- public String listMessageCounter() throws Exception {
- return (String) proxy.invokeOperation("listMessageCounter");
- }
-
- @Override
- public void resetMessageCounter() throws Exception {
- proxy.invokeOperation("resetMessageCounter");
- }
-
- @Override
- public String listMessageCounterAsHTML() throws Exception {
- return (String) proxy.invokeOperation("listMessageCounterAsHTML");
- }
-
- @Override
- public String listMessageCounterHistory() throws Exception {
- return (String) proxy.invokeOperation("listMessageCounterHistory");
- }
-
- public boolean retryMessage(@Parameter(name = "messageID", desc = "A message ID") long messageID) throws Exception {
- return (Boolean) proxy.invokeOperation("retryMessage", messageID);
- }
-
- @Override
- public int retryMessages() throws Exception {
- return (Integer) proxy.invokeOperation("retryMessages", Integer.class);
- }
-
- @Override
- public boolean retryMessage(final String messageID) throws Exception {
- return (Boolean) proxy.invokeOperation("retryMessage", messageID);
- }
-
- @Override
- public Map<String, Object>[] listScheduledMessages() throws Exception {
- return null;
- }
-
- @Override
- public String listScheduledMessagesAsJSON() throws Exception {
- return null;
- }
-
- @Override
- public Map<String, Map<String, Object>[]> listDeliveringMessages() throws Exception {
- return null;
- }
-
- @Override
- public String listDeliveringMessagesAsJSON() throws Exception {
- return null;
- }
-
- @Override
- public String listMessageCounterHistoryAsHTML() throws Exception {
- return (String) proxy.invokeOperation("listMessageCounterHistoryAsHTML");
- }
-
- @Override
- public Map<String, Object>[] listMessages(final String filter) throws Exception {
- Object[] res = (Object[]) proxy.invokeOperation("listMessages", filter);
- Map<String, Object>[] results = new Map[res.length];
- for (int i = 0; i < res.length; i++) {
- results[i] = (Map<String, Object>) res[i];
- }
- return results;
- }
-
- @Override
- public String listMessagesAsJSON(final String filter) throws Exception {
- return (String) proxy.invokeOperation("listMessagesAsJSON", filter);
- }
-
- @Override
- public boolean moveMessage(String messageID,
- String otherQueueName,
- boolean rejectDuplicates) throws Exception {
- return (Boolean) proxy.invokeOperation("moveMessage", messageID, otherQueueName, rejectDuplicates);
- }
-
- @Override
- public int moveMessages(String filter, String otherQueueName, boolean rejectDuplicates) throws Exception {
- return (Integer) proxy.invokeOperation(Integer.class, "moveMessages", filter, otherQueueName, rejectDuplicates);
- }
-
- @Override
- public int moveMessages(final String filter, final String otherQueueName) throws Exception {
- return (Integer) proxy.invokeOperation(Integer.class, "moveMessages", filter, otherQueueName);
- }
-
- @Override
- public boolean moveMessage(final String messageID, final String otherQueueName) throws Exception {
- return (Boolean) proxy.invokeOperation("moveMessage", messageID, otherQueueName);
- }
-
- @Override
- public int removeMessages(final String filter) throws Exception {
- return (Integer) proxy.invokeOperation(Integer.class, "removeMessages", filter);
- }
-
- @Override
- public boolean removeMessage(final String messageID) throws Exception {
- return (Boolean) proxy.invokeOperation("removeMessage", messageID);
- }
-
- @Override
- public boolean sendMessageToDeadLetterAddress(final String messageID) throws Exception {
- return (Boolean) proxy.invokeOperation("sendMessageToDeadLetterAddress", messageID);
- }
-
- @Override
- public int sendMessagesToDeadLetterAddress(final String filterStr) throws Exception {
- return (Integer) proxy.invokeOperation(Integer.class, "sendMessagesToDeadLetterAddress", filterStr);
- }
-
- @Override
- public String sendTextMessage(@Parameter(name = "body") String body) throws Exception {
- return null;
- }
-
- @Override
- public String sendTextMessageWithProperties(String properties) throws Exception {
- return null;
- }
-
- @Override
- public String sendTextMessage(Map<String, String> headers, String body) throws Exception {
- return null;
- }
-
- @Override
- public String sendTextMessage(String body, String user, String password) throws Exception {
- return null;
- }
-
- @Override
- public String sendTextMessage(Map<String, String> headers,
- String body,
- String user,
- String password) throws Exception {
- return (String) proxy.invokeOperation("sendTextMessage", headers, body, user, password);
- }
-
- public void setDeadLetterAddress(final String deadLetterAddress) throws Exception {
- proxy.invokeOperation("setDeadLetterAddress", deadLetterAddress);
- }
-
- public void setExpiryAddress(final String expiryAddress) throws Exception {
- proxy.invokeOperation("setExpiryAddress", expiryAddress);
- }
-
- @Override
- public String getAddress() {
- return (String) proxy.retrieveAttributeValue("address");
- }
-
- @Override
- public boolean isPaused() throws Exception {
- return (Boolean) proxy.invokeOperation("isPaused");
- }
-
- @Override
- public void pause() throws Exception {
- proxy.invokeOperation("pause");
- }
-
- @Override
- public void pause(boolean persist) throws Exception {
- proxy.invokeOperation("pause", persist);
- }
-
- @Override
- public void resume() throws Exception {
- proxy.invokeOperation("resume");
- }
-
- @Override
- public CompositeData[] browse() throws Exception {
- Map map = (Map) proxy.invokeOperation("browse");
- CompositeData[] compositeDatas = (CompositeData[]) map.get(CompositeData.class.getName());
- if (compositeDatas == null) {
- compositeDatas = new CompositeData[0];
- }
- return compositeDatas;
- }
-
- @Override
- public CompositeData[] browse(String filter) throws Exception {
- return new CompositeData[0];
- }
-
- @Override
- public String getSelector() {
- return (String) proxy.retrieveAttributeValue("selector");
- }
-
- @Override
- public void addBinding(String jndi) throws Exception {
- // TODO: Add a test for this
- proxy.invokeOperation("addBindings", jndi);
- }
-
- @Override
- public String[] getRegistryBindings() {
- // TODO: Add a test for this
- return null;
- }
-
- @Override
- public String listConsumersAsJSON() throws Exception {
- return (String) proxy.invokeOperation("listConsumersAsJSON");
- }
- };
- }
-
- // Package protected ---------------------------------------------
-
- // Protected -----------------------------------------------------
-
- // Private -------------------------------------------------------
-
- // Inner classes -------------------------------------------------
-
-}