http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/RedeployTest.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/RedeployTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/RedeployTest.java index 2df59ce..2ba7f3d 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/RedeployTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/RedeployTest.java @@ -35,7 +35,6 @@ import java.util.stream.Collectors; import org.apache.activemq.artemis.api.core.SimpleString; import org.apache.activemq.artemis.core.postoffice.QueueBinding; import org.apache.activemq.artemis.core.security.Role; -import org.apache.activemq.artemis.core.server.embedded.EmbeddedActiveMQ; import org.apache.activemq.artemis.core.server.impl.AddressInfo; import org.apache.activemq.artemis.core.settings.impl.AddressSettings; import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory; @@ -55,9 +54,9 @@ public class RedeployTest extends ActiveMQTestBase { URL url2 = RedeployTest.class.getClassLoader().getResource("reload-test-updated-jms.xml"); Files.copy(url1.openStream(), brokerXML); - EmbeddedActiveMQ embeddedActiveMQ = new EmbeddedActiveMQ(); - embeddedActiveMQ.setConfigResourcePath(brokerXML.toUri().toString()); - embeddedActiveMQ.start(); + EmbeddedJMS embeddedJMS = new EmbeddedJMS(); + embeddedJMS.setConfigResourcePath(brokerXML.toUri().toString()); + embeddedJMS.start(); final ReusableLatch latch = new ReusableLatch(1); @@ -68,23 +67,23 @@ public class RedeployTest extends ActiveMQTestBase { } }; - embeddedActiveMQ.getActiveMQServer().getReloadManager().setTick(tick); + embeddedJMS.getActiveMQServer().getReloadManager().setTick(tick); try { latch.await(10, TimeUnit.SECONDS); - Assert.assertEquals("DLQ", embeddedActiveMQ.getActiveMQServer().getAddressSettingsRepository().getMatch("jms").getDeadLetterAddress().toString()); - Assert.assertEquals("ExpiryQueue", embeddedActiveMQ.getActiveMQServer().getAddressSettingsRepository().getMatch("jms").getExpiryAddress().toString()); + Assert.assertEquals("DLQ", embeddedJMS.getActiveMQServer().getAddressSettingsRepository().getMatch("jms").getDeadLetterAddress().toString()); + Assert.assertEquals("ExpiryQueue", embeddedJMS.getActiveMQServer().getAddressSettingsRepository().getMatch("jms").getExpiryAddress().toString()); Assert.assertFalse(tryConsume()); Files.copy(url2.openStream(), brokerXML, StandardCopyOption.REPLACE_EXISTING); brokerXML.toFile().setLastModified(System.currentTimeMillis() + 1000); latch.setCount(1); - embeddedActiveMQ.getActiveMQServer().getReloadManager().setTick(tick); + embeddedJMS.getActiveMQServer().getReloadManager().setTick(tick); latch.await(10, TimeUnit.SECONDS); Assert.assertTrue(tryConsume()); - Assert.assertEquals("NewQueue", embeddedActiveMQ.getActiveMQServer().getAddressSettingsRepository().getMatch("jms").getDeadLetterAddress().toString()); - Assert.assertEquals("NewQueue", embeddedActiveMQ.getActiveMQServer().getAddressSettingsRepository().getMatch("jms").getExpiryAddress().toString()); + Assert.assertEquals("NewQueue", embeddedJMS.getActiveMQServer().getAddressSettingsRepository().getMatch("jms").getDeadLetterAddress().toString()); + Assert.assertEquals("NewQueue", embeddedJMS.getActiveMQServer().getAddressSettingsRepository().getMatch("jms").getExpiryAddress().toString()); ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(); try (Connection connection = factory.createConnection()) { @@ -98,7 +97,7 @@ public class RedeployTest extends ActiveMQTestBase { } } finally { - embeddedActiveMQ.stop(); + embeddedJMS.stop(); } } @@ -207,9 +206,9 @@ public class RedeployTest extends ActiveMQTestBase { URL url2 = RedeployTest.class.getClassLoader().getResource("reload-address-queues-updated.xml"); Files.copy(url1.openStream(), brokerXML); - EmbeddedActiveMQ embeddedActiveMQ = new EmbeddedActiveMQ(); - embeddedActiveMQ.setConfigResourcePath(brokerXML.toUri().toString()); - embeddedActiveMQ.start(); + EmbeddedJMS embeddedJMS = new EmbeddedJMS(); + embeddedJMS.setConfigResourcePath(brokerXML.toUri().toString()); + embeddedJMS.start(); final ReusableLatch latch = new ReusableLatch(1); @@ -220,49 +219,49 @@ public class RedeployTest extends ActiveMQTestBase { } }; - embeddedActiveMQ.getActiveMQServer().getReloadManager().setTick(tick); + embeddedJMS.getActiveMQServer().getReloadManager().setTick(tick); try { latch.await(10, TimeUnit.SECONDS); - Assert.assertNotNull(getAddressInfo(embeddedActiveMQ, "config_test_address_removal_no_queue")); - Assert.assertNotNull(getAddressInfo(embeddedActiveMQ, "config_test_address_removal")); - Assert.assertNotNull(getAddressInfo(embeddedActiveMQ, "config_test_queue_removal")); - Assert.assertTrue(listQueuesNamesForAddress(embeddedActiveMQ, "config_test_queue_removal").contains("config_test_queue_removal_queue_1")); - Assert.assertTrue(listQueuesNamesForAddress(embeddedActiveMQ, "config_test_queue_removal").contains("config_test_queue_removal_queue_2")); - - Assert.assertNotNull(getAddressInfo(embeddedActiveMQ, "permanent_test_address_removal")); - Assert.assertNotNull(getAddressInfo(embeddedActiveMQ, "permanent_test_queue_removal")); - Assert.assertTrue(listQueuesNamesForAddress(embeddedActiveMQ, "permanent_test_queue_removal").contains("permanent_test_queue_removal_queue_1")); - Assert.assertTrue(listQueuesNamesForAddress(embeddedActiveMQ, "permanent_test_queue_removal").contains("permanent_test_queue_removal_queue_2")); - - Assert.assertNotNull(getAddressInfo(embeddedActiveMQ, "config_test_queue_change")); - Assert.assertTrue(listQueuesNamesForAddress(embeddedActiveMQ, "config_test_queue_change").contains("config_test_queue_change_queue")); - Assert.assertEquals(10, getQueue(embeddedActiveMQ, "config_test_queue_change_queue").getMaxConsumers()); - Assert.assertEquals(false, getQueue(embeddedActiveMQ, "config_test_queue_change_queue").isPurgeOnNoConsumers()); + Assert.assertNotNull(getAddressInfo(embeddedJMS, "config_test_address_removal_no_queue")); + Assert.assertNotNull(getAddressInfo(embeddedJMS, "config_test_address_removal")); + Assert.assertNotNull(getAddressInfo(embeddedJMS, "config_test_queue_removal")); + Assert.assertTrue(listQueuesNamesForAddress(embeddedJMS, "config_test_queue_removal").contains("config_test_queue_removal_queue_1")); + Assert.assertTrue(listQueuesNamesForAddress(embeddedJMS, "config_test_queue_removal").contains("config_test_queue_removal_queue_2")); + + Assert.assertNotNull(getAddressInfo(embeddedJMS, "permanent_test_address_removal")); + Assert.assertNotNull(getAddressInfo(embeddedJMS, "permanent_test_queue_removal")); + Assert.assertTrue(listQueuesNamesForAddress(embeddedJMS, "permanent_test_queue_removal").contains("permanent_test_queue_removal_queue_1")); + Assert.assertTrue(listQueuesNamesForAddress(embeddedJMS, "permanent_test_queue_removal").contains("permanent_test_queue_removal_queue_2")); + + Assert.assertNotNull(getAddressInfo(embeddedJMS, "config_test_queue_change")); + Assert.assertTrue(listQueuesNamesForAddress(embeddedJMS, "config_test_queue_change").contains("config_test_queue_change_queue")); + Assert.assertEquals(10, getQueue(embeddedJMS, "config_test_queue_change_queue").getMaxConsumers()); + Assert.assertEquals(false, getQueue(embeddedJMS, "config_test_queue_change_queue").isPurgeOnNoConsumers()); Files.copy(url2.openStream(), brokerXML, StandardCopyOption.REPLACE_EXISTING); brokerXML.toFile().setLastModified(System.currentTimeMillis() + 1000); latch.setCount(1); - embeddedActiveMQ.getActiveMQServer().getReloadManager().setTick(tick); + embeddedJMS.getActiveMQServer().getReloadManager().setTick(tick); latch.await(10, TimeUnit.SECONDS); - Assert.assertNull(getAddressInfo(embeddedActiveMQ, "config_test_address_removal_no_queue")); - Assert.assertNull(getAddressInfo(embeddedActiveMQ, "config_test_address_removal")); - Assert.assertNotNull(getAddressInfo(embeddedActiveMQ, "config_test_queue_removal")); - Assert.assertTrue(listQueuesNamesForAddress(embeddedActiveMQ, "config_test_queue_removal").contains("config_test_queue_removal_queue_1")); - Assert.assertFalse(listQueuesNamesForAddress(embeddedActiveMQ, "config_test_queue_removal").contains("config_test_queue_removal_queue_2")); - - Assert.assertNotNull(getAddressInfo(embeddedActiveMQ, "permanent_test_address_removal")); - Assert.assertNotNull(getAddressInfo(embeddedActiveMQ, "permanent_test_queue_removal")); - Assert.assertTrue(listQueuesNamesForAddress(embeddedActiveMQ, "permanent_test_queue_removal").contains("permanent_test_queue_removal_queue_1")); - Assert.assertTrue(listQueuesNamesForAddress(embeddedActiveMQ, "permanent_test_queue_removal").contains("permanent_test_queue_removal_queue_2")); - - Assert.assertNotNull(getAddressInfo(embeddedActiveMQ, "config_test_queue_change")); - Assert.assertTrue(listQueuesNamesForAddress(embeddedActiveMQ, "config_test_queue_change").contains("config_test_queue_change_queue")); - Assert.assertEquals(1, getQueue(embeddedActiveMQ, "config_test_queue_change_queue").getMaxConsumers()); - Assert.assertEquals(true, getQueue(embeddedActiveMQ, "config_test_queue_change_queue").isPurgeOnNoConsumers()); + Assert.assertNull(getAddressInfo(embeddedJMS, "config_test_address_removal_no_queue")); + Assert.assertNull(getAddressInfo(embeddedJMS, "config_test_address_removal")); + Assert.assertNotNull(getAddressInfo(embeddedJMS, "config_test_queue_removal")); + Assert.assertTrue(listQueuesNamesForAddress(embeddedJMS, "config_test_queue_removal").contains("config_test_queue_removal_queue_1")); + Assert.assertFalse(listQueuesNamesForAddress(embeddedJMS, "config_test_queue_removal").contains("config_test_queue_removal_queue_2")); + + Assert.assertNotNull(getAddressInfo(embeddedJMS, "permanent_test_address_removal")); + Assert.assertNotNull(getAddressInfo(embeddedJMS, "permanent_test_queue_removal")); + Assert.assertTrue(listQueuesNamesForAddress(embeddedJMS, "permanent_test_queue_removal").contains("permanent_test_queue_removal_queue_1")); + Assert.assertTrue(listQueuesNamesForAddress(embeddedJMS, "permanent_test_queue_removal").contains("permanent_test_queue_removal_queue_2")); + + Assert.assertNotNull(getAddressInfo(embeddedJMS, "config_test_queue_change")); + Assert.assertTrue(listQueuesNamesForAddress(embeddedJMS, "config_test_queue_change").contains("config_test_queue_change_queue")); + Assert.assertEquals(1, getQueue(embeddedJMS, "config_test_queue_change_queue").getMaxConsumers()); + Assert.assertEquals(true, getQueue(embeddedJMS, "config_test_queue_change_queue").isPurgeOnNoConsumers()); } finally { - embeddedActiveMQ.stop(); + embeddedJMS.stop(); } } @@ -369,25 +368,25 @@ public class RedeployTest extends ActiveMQTestBase { } } - private AddressSettings getAddressSettings(EmbeddedActiveMQ embeddedActiveMQ, String address) { - return embeddedActiveMQ.getActiveMQServer().getAddressSettingsRepository().getMatch(address); + private AddressSettings getAddressSettings(EmbeddedJMS embeddedJMS, String address) { + return embeddedJMS.getActiveMQServer().getAddressSettingsRepository().getMatch(address); } - private Set<Role> getSecurityRoles(EmbeddedActiveMQ embeddedActiveMQ, String address) { - return embeddedActiveMQ.getActiveMQServer().getSecurityRepository().getMatch(address); + private Set<Role> getSecurityRoles(EmbeddedJMS embeddedJMS, String address) { + return embeddedJMS.getActiveMQServer().getSecurityRepository().getMatch(address); } - private AddressInfo getAddressInfo(EmbeddedActiveMQ embeddedActiveMQ, String address) { - return embeddedActiveMQ.getActiveMQServer().getPostOffice().getAddressInfo(SimpleString.toSimpleString(address)); + private AddressInfo getAddressInfo(EmbeddedJMS embeddedJMS, String address) { + return embeddedJMS.getActiveMQServer().getPostOffice().getAddressInfo(SimpleString.toSimpleString(address)); } - private org.apache.activemq.artemis.core.server.Queue getQueue(EmbeddedActiveMQ embeddedActiveMQ, String queueName) throws Exception { - QueueBinding queueBinding = (QueueBinding) embeddedActiveMQ.getActiveMQServer().getPostOffice().getBinding(SimpleString.toSimpleString(queueName)); + private org.apache.activemq.artemis.core.server.Queue getQueue(EmbeddedJMS embeddedJMS, String queueName) throws Exception { + QueueBinding queueBinding = (QueueBinding) embeddedJMS.getActiveMQServer().getPostOffice().getBinding(SimpleString.toSimpleString(queueName)); return queueBinding == null ? null : queueBinding.getQueue(); } - private List<String> listQueuesNamesForAddress(EmbeddedActiveMQ embeddedActiveMQ, String address) throws Exception { - return embeddedActiveMQ.getActiveMQServer().getPostOffice().listQueuesForAddress(SimpleString.toSimpleString(address)).stream().map( + private List<String> listQueuesNamesForAddress(EmbeddedJMS embeddedJMS, String address) throws Exception { + return embeddedJMS.getActiveMQServer().getPostOffice().listQueuesForAddress(SimpleString.toSimpleString(address)).stream().map( org.apache.activemq.artemis.core.server.Queue::getName).map(SimpleString::toString).collect(Collectors.toList()); }
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/RemoteConnectionStressTest.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/RemoteConnectionStressTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/RemoteConnectionStressTest.java index bcd2fe7..a7775e4 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/RemoteConnectionStressTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/RemoteConnectionStressTest.java @@ -21,13 +21,18 @@ import javax.jms.MessageProducer; import javax.jms.Queue; import javax.jms.Session; import javax.jms.TextMessage; +import javax.management.MBeanServer; +import javax.management.MBeanServerFactory; import org.apache.activemq.artemis.api.core.TransportConfiguration; import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient; import org.apache.activemq.artemis.api.jms.JMSFactoryType; +import org.apache.activemq.artemis.core.registry.JndiBindingRegistry; import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.core.server.ActiveMQServers; import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory; +import org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl; +import org.apache.activemq.artemis.tests.unit.util.InVMNamingContext; import org.apache.activemq.artemis.tests.util.ActiveMQTestBase; import org.junit.Before; import org.junit.Test; @@ -38,14 +43,25 @@ import org.junit.Test; public class RemoteConnectionStressTest extends ActiveMQTestBase { ActiveMQServer server; + MBeanServer mbeanServer; + JMSServerManagerImpl jmsServer; @Override @Before public void setUp() throws Exception { super.setUp(); - server = addServer(ActiveMQServers.newActiveMQServer(createDefaultNettyConfig(), false)); - server.start(); + mbeanServer = MBeanServerFactory.createMBeanServer(); + + server = addServer(ActiveMQServers.newActiveMQServer(createDefaultNettyConfig(), mbeanServer, false)); + + InVMNamingContext namingContext = new InVMNamingContext(); + jmsServer = new JMSServerManagerImpl(server); + jmsServer.setRegistry(new JndiBindingRegistry(namingContext)); + + jmsServer.start(); + + jmsServer.createQueue(true, "SomeQueue", null, true, "/jms/SomeQueue"); } @Test http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/JMSFailoverListenerTest.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/JMSFailoverListenerTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/JMSFailoverListenerTest.java index cec8e1b..45742cc 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/JMSFailoverListenerTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/cluster/JMSFailoverListenerTest.java @@ -29,7 +29,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.activemq.artemis.api.core.RoutingType; import org.apache.activemq.artemis.api.core.SimpleString; import org.apache.activemq.artemis.api.core.TransportConfiguration; import org.apache.activemq.artemis.api.core.client.ClientSession; @@ -40,15 +39,20 @@ import org.apache.activemq.artemis.api.jms.JMSFactoryType; import org.apache.activemq.artemis.core.config.Configuration; import org.apache.activemq.artemis.core.config.ha.SharedStoreMasterPolicyConfiguration; import org.apache.activemq.artemis.core.config.ha.SharedStoreSlavePolicyConfiguration; +import org.apache.activemq.artemis.core.registry.JndiBindingRegistry; import org.apache.activemq.artemis.core.remoting.impl.invm.TransportConstants; import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.core.server.NodeManager; +import org.apache.activemq.artemis.api.core.RoutingType; import org.apache.activemq.artemis.core.server.impl.InVMNodeManager; import org.apache.activemq.artemis.jms.client.ActiveMQConnection; import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory; import org.apache.activemq.artemis.jms.client.ActiveMQSession; +import org.apache.activemq.artemis.jms.server.JMSServerManager; +import org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl; import org.apache.activemq.artemis.tests.integration.IntegrationTestLogger; import org.apache.activemq.artemis.tests.integration.jms.server.management.JMSUtil; +import org.apache.activemq.artemis.tests.unit.util.InVMNamingContext; import org.apache.activemq.artemis.tests.util.ActiveMQTestBase; import org.apache.activemq.artemis.tests.util.InVMNodeManagerServer; import org.apache.activemq.artemis.utils.RandomUtil; @@ -69,12 +73,20 @@ public class JMSFailoverListenerTest extends ActiveMQTestBase { // Attributes ---------------------------------------------------- + protected InVMNamingContext ctx1 = new InVMNamingContext(); + + protected InVMNamingContext ctx2 = new InVMNamingContext(); + protected Configuration backupConf; protected Configuration liveConf; + protected JMSServerManager liveJMSServer; + protected ActiveMQServer liveServer; + protected JMSServerManager backupJMSServer; + protected ActiveMQServer backupServer; protected Map<String, Object> backupParams = new HashMap<>(); @@ -269,18 +281,26 @@ public class JMSFailoverListenerTest extends ActiveMQTestBase { backupServer = addServer(new InVMNodeManagerServer(backupConf, nodeManager)); - backupServer.setIdentity("JMSBackup"); + backupJMSServer = new JMSServerManagerImpl(backupServer); + + backupJMSServer.setRegistry(new JndiBindingRegistry(ctx2)); + + backupJMSServer.getActiveMQServer().setIdentity("JMSBackup"); log.info("Starting backup"); - backupServer.start(); + backupJMSServer.start(); liveConf = createBasicConfig().setJournalDirectory(getJournalDir()).setBindingsDirectory(getBindingsDir()).addAcceptorConfiguration(liveAcceptortc).setJournalType(getDefaultJournalType()).setBindingsDirectory(getBindingsDir()).setJournalMinFiles(2).setJournalDirectory(getJournalDir()).setPagingDirectory(getPageDir()).setLargeMessagesDirectory(getLargeMessagesDir()).addConnectorConfiguration(livetc.getName(), livetc).setPersistenceEnabled(true).setHAPolicyConfiguration(new SharedStoreMasterPolicyConfiguration()).addClusterConfiguration(basicClusterConnectionConfig(livetc.getName())); liveServer = addServer(new InVMNodeManagerServer(liveConf, nodeManager)); - liveServer.setIdentity("JMSLive"); + liveJMSServer = new JMSServerManagerImpl(liveServer); + + liveJMSServer.setRegistry(new JndiBindingRegistry(ctx1)); + + liveJMSServer.getActiveMQServer().setIdentity("JMSLive"); log.info("Starting life"); - liveServer.start(); + liveJMSServer.start(); JMSUtil.waitForServer(backupServer); } http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/connection/ExceptionListenerTest.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/connection/ExceptionListenerTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/connection/ExceptionListenerTest.java index b37d8a6..9b91308 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/connection/ExceptionListenerTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/connection/ExceptionListenerTest.java @@ -28,11 +28,14 @@ import org.apache.activemq.artemis.api.core.TransportConfiguration; import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient; import org.apache.activemq.artemis.api.jms.JMSFactoryType; import org.apache.activemq.artemis.core.client.impl.ClientSessionInternal; +import org.apache.activemq.artemis.core.registry.JndiBindingRegistry; import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.core.server.ActiveMQServers; import org.apache.activemq.artemis.jms.client.ActiveMQConnection; import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory; import org.apache.activemq.artemis.jms.client.ActiveMQSession; +import org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl; +import org.apache.activemq.artemis.tests.integration.jms.server.management.NullInitialContext; import org.apache.activemq.artemis.tests.util.ActiveMQTestBase; import org.junit.Assert; import org.junit.Before; @@ -45,15 +48,22 @@ public class ExceptionListenerTest extends ActiveMQTestBase { private ActiveMQServer server; + private JMSServerManagerImpl jmsServer; + private ActiveMQConnectionFactory cf; + private static final String Q_NAME = "ConnectionTestQueue"; + @Override @Before public void setUp() throws Exception { super.setUp(); server = addServer(ActiveMQServers.newActiveMQServer(createDefaultInVMConfig(), false)); - server.start(); + jmsServer = new JMSServerManagerImpl(server); + jmsServer.setRegistry(new JndiBindingRegistry(new NullInitialContext())); + jmsServer.start(); + jmsServer.createQueue(false, ExceptionListenerTest.Q_NAME, null, true, ExceptionListenerTest.Q_NAME); cf = ActiveMQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF, new TransportConfiguration(INVM_CONNECTOR_FACTORY)); cf.setBlockOnDurableSend(true); cf.setPreAcknowledge(true); http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/JMSServerStartStopTest.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/JMSServerStartStopTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/JMSServerStartStopTest.java index 130f43f..1e20fb0 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/JMSServerStartStopTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/JMSServerStartStopTest.java @@ -34,6 +34,9 @@ import org.apache.activemq.artemis.core.config.impl.SecurityConfiguration; import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl; import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory; +import org.apache.activemq.artemis.jms.server.JMSServerManager; +import org.apache.activemq.artemis.jms.server.config.impl.FileJMSConfiguration; +import org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl; import org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager; import org.apache.activemq.artemis.spi.core.security.jaas.InVMLoginModule; import org.apache.activemq.artemis.tests.integration.IntegrationTestLogger; @@ -46,7 +49,7 @@ public class JMSServerStartStopTest extends ActiveMQTestBase { private static final IntegrationTestLogger log = IntegrationTestLogger.LOGGER; - private ActiveMQServer server; + private JMSServerManager jmsServer; private Connection conn; @@ -57,13 +60,18 @@ public class JMSServerStartStopTest extends ActiveMQTestBase { @Before public void setUp() throws Exception { FileConfiguration fc = new FileConfiguration(); + FileJMSConfiguration fileConfiguration = new FileJMSConfiguration(); FileDeploymentManager deploymentManager = new FileDeploymentManager("server-start-stop-config1.xml"); deploymentManager.addDeployable(fc); + deploymentManager.addDeployable(fileConfiguration); deploymentManager.readConfiguration(); ActiveMQJAASSecurityManager sm = new ActiveMQJAASSecurityManager(InVMLoginModule.class.getName(), new SecurityConfiguration()); - server = addServer(new ActiveMQServerImpl(fc, sm)); + ActiveMQServer server = addServer(new ActiveMQServerImpl(fc, sm)); + + jmsServer = new JMSServerManagerImpl(server, fileConfiguration); + jmsServer.setRegistry(null); } @Test @@ -73,7 +81,7 @@ public class JMSServerStartStopTest extends ActiveMQTestBase { for (int j = 0; j < numMessages; j++) { JMSServerStartStopTest.log.info("Iteration " + j); - server.start(); + jmsServer.start(); ActiveMQConnectionFactory jbcf = createConnectionFactory(); @@ -96,11 +104,11 @@ public class JMSServerStartStopTest extends ActiveMQTestBase { jbcf.close(); - server.stop(); + jmsServer.stop(); } } - server.start(); + jmsServer.start(); jbcf = createConnectionFactory(); @@ -133,7 +141,7 @@ public class JMSServerStartStopTest extends ActiveMQTestBase { // https://jira.jboss.org/jira/browse/HORNETQ-315 @Test public void testCloseConnectionAfterServerIsShutdown() throws Exception { - server.start(); + jmsServer.start(); jbcf = createConnectionFactory(); @@ -143,7 +151,7 @@ public class JMSServerStartStopTest extends ActiveMQTestBase { conn = jbcf.createConnection(); - server.stop(); + jmsServer.stop(); conn.close(); } http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/OpenWireTestBase.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/OpenWireTestBase.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/OpenWireTestBase.java index 2f06a42..831887f 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/OpenWireTestBase.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/OpenWireTestBase.java @@ -19,15 +19,21 @@ package org.apache.activemq.artemis.tests.integration.openwire; import javax.jms.ConnectionFactory; import javax.management.MBeanServer; import javax.management.MBeanServerFactory; +import java.util.ArrayList; import java.util.HashSet; +import java.util.List; import java.util.Set; import org.apache.activemq.artemis.api.core.SimpleString; -import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient; +import org.apache.activemq.artemis.api.core.TransportConfiguration; import org.apache.activemq.artemis.core.config.Configuration; +import org.apache.activemq.artemis.core.registry.JndiBindingRegistry; import org.apache.activemq.artemis.core.security.Role; import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.core.settings.impl.AddressSettings; +import org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration; +import org.apache.activemq.artemis.jms.server.config.impl.ConnectionFactoryConfigurationImpl; +import org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl; import org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager; import org.apache.activemq.artemis.tests.unit.util.InVMNamingContext; import org.apache.activemq.artemis.tests.util.ActiveMQTestBase; @@ -44,6 +50,7 @@ public class OpenWireTestBase extends ActiveMQTestBase { protected ActiveMQServer server; + protected JMSServerManagerImpl jmsServer; protected boolean realStore = false; protected boolean enableSecurity = false; @@ -101,9 +108,12 @@ public class OpenWireTestBase extends ActiveMQTestBase { mbeanServer = MBeanServerFactory.createMBeanServer(); server.setMBeanServer(mbeanServer); addServer(server); - server.start(); + jmsServer = new JMSServerManagerImpl(server); + namingContext = new InVMNamingContext(); + jmsServer.setRegistry(new JndiBindingRegistry(namingContext)); + jmsServer.start(); - coreCf = ActiveMQJMSClient.createConnectionFactory("vm://0?reconnectAttempts=-1","cf"); + registerConnectionFactory(); System.out.println("debug: server started"); } @@ -111,6 +121,31 @@ public class OpenWireTestBase extends ActiveMQTestBase { protected void extraServerConfig(Configuration serverConfig) { } + protected void registerConnectionFactory() throws Exception { + List<TransportConfiguration> connectorConfigs = new ArrayList<>(); + connectorConfigs.add(new TransportConfiguration(INVM_CONNECTOR_FACTORY)); + + createCF(connectorConfigs, "/cf"); + + coreCf = (ConnectionFactory) namingContext.lookup("/cf"); + } + + protected void createCF(final List<TransportConfiguration> connectorConfigs, + final String... jndiBindings) throws Exception { + final int retryInterval = 1000; + final double retryIntervalMultiplier = 1.0; + final int reconnectAttempts = -1; + final int callTimeout = 30000; + List<String> connectorNames = registerConnectors(server, connectorConfigs); + + String cfName = name.getMethodName(); + if (cfName == null) { + cfName = "cfOpenWire"; + } + ConnectionFactoryConfiguration configuration = new ConnectionFactoryConfigurationImpl().setName(cfName).setConnectorNames(connectorNames).setRetryInterval(retryInterval).setRetryIntervalMultiplier(retryIntervalMultiplier).setCallTimeout(callTimeout).setReconnectAttempts(reconnectAttempts); + jmsServer.createConnectionFactory(false, configuration, jndiBindings); + } + @Override @After public void tearDown() throws Exception { http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/amq/ConnectionErrorSocketCloseTest.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/amq/ConnectionErrorSocketCloseTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/amq/ConnectionErrorSocketCloseTest.java index 8ac4987..1c58bcc 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/amq/ConnectionErrorSocketCloseTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/openwire/amq/ConnectionErrorSocketCloseTest.java @@ -18,6 +18,7 @@ package org.apache.activemq.artemis.tests.integration.openwire.amq; import javax.jms.Connection; +import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.tests.integration.openwire.BasicOpenWireTest; import org.apache.activemq.artemis.tests.util.Wait; import org.junit.Test; @@ -36,7 +37,7 @@ public class ConnectionErrorSocketCloseTest extends BasicOpenWireTest { @Test(timeout = 60000) public void testDuplicateClientIdCloseConnection() throws Exception { connection.start(); - Wait.waitFor(() -> server.getRemotingService().getConnections().size() == 1, 10000, 500); + Wait.waitFor(() -> getActiveMQServer().getRemotingService().getConnections().size() == 1, 10000, 500); try (Connection con = factory.createConnection()) { // Try and create second connection the second should fail because of a @@ -52,7 +53,13 @@ public class ConnectionErrorSocketCloseTest extends BasicOpenWireTest { // after 2 seconds the second connection should be terminated by the // broker because of the exception - assertTrue(Wait.waitFor(() -> server.getRemotingService().getConnections().size() == 1, 10000, 500)); + assertTrue(Wait.waitFor(() -> getActiveMQServer().getRemotingService().getConnections().size() == 1, 10000, 500)); } } + + @SuppressWarnings("deprecation") + private ActiveMQServer getActiveMQServer() { + return jmsServer.getActiveMQServer(); + } + } http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/MultipleProducersPagingTest.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/MultipleProducersPagingTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/MultipleProducersPagingTest.java index 367ae9f..ab183c2 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/MultipleProducersPagingTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/paging/MultipleProducersPagingTest.java @@ -24,6 +24,7 @@ import javax.jms.MessageConsumer; import javax.jms.MessageProducer; import javax.jms.Queue; import javax.jms.Session; +import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.Set; @@ -35,11 +36,16 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; import org.apache.activemq.artemis.api.core.TransportConfiguration; -import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient; +import org.apache.activemq.artemis.core.config.Configuration; import org.apache.activemq.artemis.core.remoting.impl.netty.NettyAcceptorFactory; -import org.apache.activemq.artemis.core.server.ActiveMQServer; +import org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory; import org.apache.activemq.artemis.core.settings.impl.AddressFullMessagePolicy; import org.apache.activemq.artemis.core.settings.impl.AddressSettings; +import org.apache.activemq.artemis.jms.server.config.JMSConfiguration; +import org.apache.activemq.artemis.jms.server.config.impl.ConnectionFactoryConfigurationImpl; +import org.apache.activemq.artemis.jms.server.config.impl.JMSConfigurationImpl; +import org.apache.activemq.artemis.jms.server.config.impl.JMSQueueConfigurationImpl; +import org.apache.activemq.artemis.jms.server.embedded.EmbeddedJMS; import org.apache.activemq.artemis.tests.util.ActiveMQTestBase; import org.apache.activemq.artemis.utils.ActiveMQThreadFactory; import org.junit.After; @@ -60,7 +66,7 @@ public class MultipleProducersPagingTest extends ActiveMQTestBase { private AtomicLong msgReceived; private AtomicLong msgSent; private final Set<Connection> connections = new HashSet<>(); - private ActiveMQServer server; + private EmbeddedJMS jmsServer; private ConnectionFactory cf; private Queue queue; @@ -70,18 +76,21 @@ public class MultipleProducersPagingTest extends ActiveMQTestBase { super.setUp(); executor = Executors.newCachedThreadPool(ActiveMQThreadFactory.defaultThreadFactory()); - server = createServer(createBasicConfig() - .setPersistenceEnabled(false) - .setAddressesSettings(Collections.singletonMap("#", new AddressSettings() - .setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE) - .setPageSizeBytes(50000) - .setMaxSizeBytes(404850))) - .setAcceptorConfigurations(Collections.singleton(new TransportConfiguration(NettyAcceptorFactory.class.getName())))); + AddressSettings addressSettings = new AddressSettings().setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE).setPageSizeBytes(50000).setMaxSizeBytes(404850); - server.start(); + Configuration config = createBasicConfig().setPersistenceEnabled(false).setAddressesSettings(Collections.singletonMap("#", addressSettings)).setAcceptorConfigurations(Collections.singleton(new TransportConfiguration(NettyAcceptorFactory.class.getName()))).setConnectorConfigurations(Collections.singletonMap("netty", new TransportConfiguration(NettyConnectorFactory.class.getName()))); - cf = ActiveMQJMSClient.createConnectionFactory("tcp://127.0.0.1:61616", "cf"); - queue = ActiveMQJMSClient.createQueue("simple"); + final JMSConfiguration jmsConfig = new JMSConfigurationImpl(); + jmsConfig.getConnectionFactoryConfigurations().add(new ConnectionFactoryConfigurationImpl().setName("cf").setConnectorNames(Arrays.asList("netty")).setBindings("/cf")); + jmsConfig.getQueueConfigurations().add(new JMSQueueConfigurationImpl().setName("simple").setSelector("").setDurable(false).setBindings("/queue/simple")); + + jmsServer = new EmbeddedJMS(); + jmsServer.setConfiguration(config); + jmsServer.setJmsConfiguration(jmsConfig); + jmsServer.start(); + + cf = (ConnectionFactory) jmsServer.lookup("/cf"); + queue = (Queue) jmsServer.lookup("/queue/simple"); barrierLatch = new CyclicBarrier(PRODUCERS + 1); runnersLatch = new CountDownLatch(PRODUCERS + 1); @@ -159,8 +168,8 @@ public class MultipleProducersPagingTest extends ActiveMQTestBase { conn.close(); } connections.clear(); - if (server != null) - server.stop(); + if (jmsServer != null) + jmsServer.stop(); super.tearDown(); } } http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/persistence/SyncSendTest.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/persistence/SyncSendTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/persistence/SyncSendTest.java index 6a94f17..c4c2214 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/persistence/SyncSendTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/persistence/SyncSendTest.java @@ -32,12 +32,11 @@ import java.util.ArrayList; import java.util.Collection; import java.util.concurrent.TimeUnit; -import org.apache.activemq.artemis.api.core.RoutingType; -import org.apache.activemq.artemis.api.core.SimpleString; import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.core.server.JournalType; import org.apache.activemq.artemis.jlibaio.LibaioContext; import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory; +import org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl; import org.apache.activemq.artemis.tests.util.ActiveMQTestBase; import org.apache.qpid.jms.JmsConnectionFactory; import org.junit.Assert; @@ -80,6 +79,7 @@ public class SyncSendTest extends ActiveMQTestBase { } ActiveMQServer server; + JMSServerManagerImpl jms; @Override public void setUp() throws Exception { @@ -91,13 +91,15 @@ public class SyncSendTest extends ActiveMQTestBase { server = createServer(true, true); } + jms = new JMSServerManagerImpl(server); + if (storage.equals("libaio")) { server.getConfiguration().setJournalType(JournalType.ASYNCIO); } else { server.getConfiguration().setJournalType(JournalType.NIO); } - server.start(); + jms.start(); } private long getTimePerSync() throws Exception { @@ -152,7 +154,7 @@ public class SyncSendTest extends ActiveMQTestBase { long recordTime = getTimePerSync(); - server.createQueue(SimpleString.toSimpleString("queue"), RoutingType.ANYCAST, SimpleString.toSimpleString("queue"), null, true, false); + jms.createQueue(true, "queue", null, true, null); ConnectionFactory factory = newCF(); http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/plugin/StompPluginTest.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/plugin/StompPluginTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/plugin/StompPluginTest.java index bb32407..e426e3a 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/plugin/StompPluginTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/plugin/StompPluginTest.java @@ -62,9 +62,9 @@ import org.apache.activemq.artemis.api.core.SimpleString; import org.apache.activemq.artemis.core.persistence.OperationContext; import org.apache.activemq.artemis.core.protocol.stomp.Stomp; import org.apache.activemq.artemis.core.protocol.stomp.StompConnection; -import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.core.server.ServerSession; import org.apache.activemq.artemis.core.server.plugin.ActiveMQServerPlugin; +import org.apache.activemq.artemis.jms.server.JMSServerManager; import org.apache.activemq.artemis.spi.core.protocol.RemotingConnection; import org.apache.activemq.artemis.spi.core.protocol.SessionCallback; import org.apache.activemq.artemis.tests.integration.IntegrationTestLogger; @@ -118,10 +118,10 @@ public class StompPluginTest extends StompTestBase { private final AtomicBoolean stompBeforeRemoveSession = new AtomicBoolean(); @Override - protected ActiveMQServer createServer() throws Exception { - ActiveMQServer server = super.createServer(); - server.registerBrokerPlugin(verifier); - server.registerBrokerPlugin(new ActiveMQServerPlugin() { + protected JMSServerManager createServer() throws Exception { + JMSServerManager server = super.createServer(); + server.getActiveMQServer().registerBrokerPlugin(verifier); + server.getActiveMQServer().registerBrokerPlugin(new ActiveMQServerPlugin() { @Override public void beforeCreateSession(String name, String username, int minLargeMessageSize, http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/spring/SpringIntegrationTest.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/spring/SpringIntegrationTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/spring/SpringIntegrationTest.java index 5fe43d9..e8e5998 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/spring/SpringIntegrationTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/spring/SpringIntegrationTest.java @@ -18,8 +18,8 @@ package org.apache.activemq.artemis.tests.integration.spring; import java.util.concurrent.TimeUnit; -import org.apache.activemq.artemis.core.server.embedded.EmbeddedActiveMQ; import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory; +import org.apache.activemq.artemis.jms.server.embedded.EmbeddedJMS; import org.apache.activemq.artemis.tests.integration.IntegrationTestLogger; import org.apache.activemq.artemis.tests.util.ActiveMQTestBase; import org.junit.Assert; @@ -67,7 +67,7 @@ public class SpringIntegrationTest extends ActiveMQTestBase { } try { if (context != null) { - EmbeddedActiveMQ jms = (EmbeddedActiveMQ) context.getBean("EmbeddedActiveMQ"); + EmbeddedJMS jms = (EmbeddedJMS) context.getBean("EmbeddedJms"); jms.stop(); } } catch (Throwable ignored) { http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/FQQNStompTest.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/FQQNStompTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/FQQNStompTest.java index ce727a9..23774d7 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/FQQNStompTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/FQQNStompTest.java @@ -45,7 +45,7 @@ public class FQQNStompTest extends StompTestBase { public void setUp() throws Exception { super.setUp(); conn = StompClientConnectionFactory.createClientConnection(uri); - QueueQueryResult result = server.queueQuery(new SimpleString(getQueueName())); + QueueQueryResult result = server.getActiveMQServer().queueQuery(new SimpleString(getQueueName())); assertTrue(result.isExists()); System.out.println("address: " + result.getAddress() + " queue " + result.getName()); } http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompConnectionCleanupTest.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompConnectionCleanupTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompConnectionCleanupTest.java index 7955703..ac89c1d 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompConnectionCleanupTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompConnectionCleanupTest.java @@ -19,7 +19,7 @@ package org.apache.activemq.artemis.tests.integration.stomp; import javax.jms.Message; import javax.jms.MessageConsumer; -import org.apache.activemq.artemis.core.server.ActiveMQServer; +import org.apache.activemq.artemis.jms.server.JMSServerManager; import org.apache.activemq.artemis.tests.integration.stomp.util.ClientStompFrame; import org.junit.Test; @@ -40,9 +40,9 @@ public class StompConnectionCleanupTest extends StompTest { long start = System.currentTimeMillis(); while (true) { - int connCount = server.getRemotingService().getConnections().size(); + int connCount = server.getActiveMQServer().getRemotingService().getConnections().size(); - int sessionCount = server.getSessions().size(); + int sessionCount = server.getActiveMQServer().getSessions().size(); // All connections and sessions should be timed out including STOMP + JMS connection @@ -77,9 +77,9 @@ public class StompConnectionCleanupTest extends StompTest { long start = System.currentTimeMillis(); while (true) { - int connCount = server.getRemotingService().getConnections().size(); + int connCount = server.getActiveMQServer().getRemotingService().getConnections().size(); - int sessionCount = server.getSessions().size(); + int sessionCount = server.getActiveMQServer().getSessions().size(); // All connections and sessions should be timed out including STOMP + JMS connection @@ -124,10 +124,10 @@ public class StompConnectionCleanupTest extends StompTest { } @Override - protected ActiveMQServer createServer() throws Exception { - ActiveMQServer s = super.createServer(); + protected JMSServerManager createServer() throws Exception { + JMSServerManager s = super.createServer(); - s.getConfiguration().setConnectionTTLOverride(CONNECTION_TTL); + s.getActiveMQServer().getConfiguration().setConnectionTTLOverride(CONNECTION_TTL); return s; } http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTest.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTest.java index 16ffca2..5c6eefe 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTest.java @@ -49,6 +49,7 @@ import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient; import org.apache.activemq.artemis.core.postoffice.impl.LocalQueueBinding; import org.apache.activemq.artemis.core.protocol.stomp.Stomp; import org.apache.activemq.artemis.core.protocol.stomp.StompProtocolManagerFactory; +import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.core.server.Queue; import org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl; import org.apache.activemq.artemis.core.server.impl.AddressInfo; @@ -107,7 +108,7 @@ public class StompTest extends StompTestBase { URI uri = createStompClientUri(scheme, hostname, port); - server.getRemotingService().createAcceptor("test", "tcp://127.0.0.1:" + port + "?connectionTtl=1000").start(); + server.getActiveMQServer().getRemotingService().createAcceptor("test", "tcp://127.0.0.1:" + port + "?connectionTtl=1000").start(); StompClientConnection conn = StompClientConnectionFactory.createClientConnection(uri); conn.connect("brianm", "wombats"); @@ -160,9 +161,9 @@ public class StompTest extends StompTestBase { } }); - ((ActiveMQServerImpl) server).getMonitor() - .setMaxUsage(0) - .tick(); + ((ActiveMQServerImpl) server.getActiveMQServer()).getMonitor() + .setMaxUsage(0) + .tick(); // Connection should be closed by broker when disk is full and attempt to send Exception e = null; @@ -302,9 +303,9 @@ public class StompTest extends StompTestBase { Assert.assertTrue(Math.abs(tnow - tmsg) < 1500); // closing the consumer here should trigger auto-deletion - assertNotNull(server.getPostOffice().getBinding(new SimpleString(queue))); + assertNotNull(server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(queue))); consumer.close(); - assertNull(server.getPostOffice().getBinding(new SimpleString(queue))); + assertNull(server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(queue))); } @Test @@ -315,7 +316,7 @@ public class StompTest extends StompTestBase { @Test public void testSendMessageToNonExistentQueueUsingExplicitDefaultRouting() throws Exception { String nonExistentQueue = RandomUtil.randomString(); - server.getAddressSettingsRepository().addMatch(nonExistentQueue, new AddressSettings().setDefaultAddressRoutingType(RoutingType.ANYCAST).setDefaultQueueRoutingType(RoutingType.ANYCAST)); + server.getActiveMQServer().getAddressSettingsRepository().addMatch(nonExistentQueue, new AddressSettings().setDefaultAddressRoutingType(RoutingType.ANYCAST).setDefaultQueueRoutingType(RoutingType.ANYCAST)); sendMessageToNonExistentQueue(getQueuePrefix(), nonExistentQueue, null); } @@ -340,12 +341,12 @@ public class StompTest extends StompTestBase { long tmsg = message.getJMSTimestamp(); Assert.assertTrue(Math.abs(tnow - tmsg) < 1500); - assertNotNull(server.getAddressInfo(new SimpleString(topic))); + assertNotNull(server.getActiveMQServer().getAddressInfo(new SimpleString(topic))); // closing the consumer here should trigger auto-deletion of the subscription queue and address consumer.close(); Thread.sleep(200); - assertNull(server.getAddressInfo(new SimpleString(topic))); + assertNull(server.getActiveMQServer().getAddressInfo(new SimpleString(topic))); } @Test @@ -356,7 +357,7 @@ public class StompTest extends StompTestBase { @Test public void testSendMessageToNonExistentTopicUsingExplicitDefaultRouting() throws Exception { String nonExistentTopic = RandomUtil.randomString(); - server.getAddressSettingsRepository().addMatch(nonExistentTopic, new AddressSettings().setDefaultAddressRoutingType(RoutingType.MULTICAST).setDefaultQueueRoutingType(RoutingType.MULTICAST)); + server.getActiveMQServer().getAddressSettingsRepository().addMatch(nonExistentTopic, new AddressSettings().setDefaultAddressRoutingType(RoutingType.MULTICAST).setDefaultQueueRoutingType(RoutingType.MULTICAST)); sendMessageToNonExistentTopic(getTopicPrefix(), nonExistentTopic, null); } @@ -1121,7 +1122,7 @@ public class StompTest extends StompTestBase { @Test public void testSubscribeToTopic() throws Exception { - final int baselineQueueCount = server.getActiveMQServerControl().getQueueNames().length; + final int baselineQueueCount = server.getActiveMQServer().getActiveMQServerControl().getQueueNames().length; conn.connect(defUser, defPass); @@ -1131,7 +1132,7 @@ public class StompTest extends StompTestBase { @Override public boolean isSatisfied() throws Exception { - int length = server.getActiveMQServerControl().getQueueNames().length; + int length = server.getActiveMQServer().getActiveMQServerControl().getQueueNames().length; if (length - baselineQueueCount == 1) { return true; } else { @@ -1156,14 +1157,14 @@ public class StompTest extends StompTestBase { log.info("Received frame: " + frame); Assert.assertNull("No message should have been received since subscription was removed", frame); - assertEquals("Subscription queue should be deleted", 0, server.getActiveMQServerControl().getQueueNames().length - baselineQueueCount); + assertEquals("Subscription queue should be deleted", 0, server.getActiveMQServer().getActiveMQServerControl().getQueueNames().length - baselineQueueCount); conn.disconnect(); } @Test public void testSubscribeToQueue() throws Exception { - final int baselineQueueCount = server.getActiveMQServerControl().getQueueNames().length; + final int baselineQueueCount = server.getActiveMQServer().getActiveMQServerControl().getQueueNames().length; conn.connect(defUser, defPass); subscribe(conn, null, null, null, true); @@ -1171,7 +1172,7 @@ public class StompTest extends StompTestBase { assertFalse("Queue should not be created here", Wait.waitFor(new Wait.Condition() { @Override public boolean isSatisfied() throws Exception { - if (server.getActiveMQServerControl().getQueueNames().length - baselineQueueCount == 1) { + if (server.getActiveMQServer().getActiveMQServerControl().getQueueNames().length - baselineQueueCount == 1) { return true; } else { return false; @@ -1194,7 +1195,7 @@ public class StompTest extends StompTestBase { log.info("Received frame: " + frame); Assert.assertNull("No message should have been received since subscription was removed", frame); - assertEquals("Subscription queue should not be deleted", baselineQueueCount, server.getActiveMQServerControl().getQueueNames().length); + assertEquals("Subscription queue should not be deleted", baselineQueueCount, server.getActiveMQServer().getActiveMQServerControl().getQueueNames().length); conn.disconnect(); } @@ -1213,9 +1214,9 @@ public class StompTest extends StompTestBase { Assert.assertEquals(getQueuePrefix() + nonExistentQueue, frame.getHeader(Stomp.Headers.Send.DESTINATION)); Assert.assertEquals(getName(), frame.getBody()); - assertNotNull(server.getPostOffice().getBinding(new SimpleString(nonExistentQueue))); + assertNotNull(server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(nonExistentQueue))); - final Queue subscription = ((LocalQueueBinding) server.getPostOffice().getBinding(new SimpleString(nonExistentQueue))).getQueue(); + final Queue subscription = ((LocalQueueBinding) server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(nonExistentQueue))).getQueue(); assertTrue(Wait.waitFor(new Wait.Condition() { @Override @@ -1229,7 +1230,7 @@ public class StompTest extends StompTestBase { unsubscribe(conn, null, getQueuePrefix() + nonExistentQueue, true, false); - assertNull(server.getPostOffice().getBinding(new SimpleString(nonExistentQueue))); + assertNull(server.getActiveMQServer().getPostOffice().getBinding(new SimpleString(nonExistentQueue))); sendJmsMessage(getName(), ActiveMQJMSClient.createQueue(nonExistentQueue)); @@ -1329,7 +1330,7 @@ public class StompTest extends StompTestBase { conn.disconnect(); Thread.sleep(500); - assertNotNull(server.locateQueue(SimpleString.toSimpleString("myclientid." + getName()))); + assertNotNull(server.getActiveMQServer().locateQueue(SimpleString.toSimpleString("myclientid." + getName()))); conn.destroy(); conn = StompClientConnectionFactory.createClientConnection(uri); @@ -1339,13 +1340,13 @@ public class StompTest extends StompTestBase { conn.disconnect(); Thread.sleep(500); - assertNull(server.locateQueue(SimpleString.toSimpleString("myclientid." + getName()))); + assertNull(server.getActiveMQServer().locateQueue(SimpleString.toSimpleString("myclientid." + getName()))); } @Test public void testDurableUnSubscribeWithoutDurableSubName() throws Exception { - server.getConfiguration().getWildcardConfiguration().setDelimiter('/'); - server.getAddressSettingsRepository().addMatch("/topic/#", new AddressSettings().setDefaultAddressRoutingType(RoutingType.MULTICAST).setDefaultQueueRoutingType(RoutingType.MULTICAST)); + server.getActiveMQServer().getConfiguration().getWildcardConfiguration().setDelimiter('/'); + server.getActiveMQServer().getAddressSettingsRepository().addMatch("/topic/#", new AddressSettings().setDefaultAddressRoutingType(RoutingType.MULTICAST).setDefaultQueueRoutingType(RoutingType.MULTICAST)); conn.connect(defUser, defPass, "myclientid"); String subId = UUID.randomUUID().toString(); String durableSubName = UUID.randomUUID().toString(); @@ -1360,7 +1361,7 @@ public class StompTest extends StompTestBase { frame = conn.sendFrame(frame); assertEquals(receipt, frame.getHeader(Stomp.Headers.Response.RECEIPT_ID)); - assertTrue(Wait.waitFor(() -> server.locateQueue(SimpleString.toSimpleString("myclientid." + durableSubName)) != null, 2000, 100)); + assertTrue(Wait.waitFor(() -> server.getActiveMQServer().locateQueue(SimpleString.toSimpleString("myclientid." + durableSubName)) != null, 2000, 100)); receipt = UUID.randomUUID().toString(); frame = conn.createFrame(Stomp.Commands.UNSUBSCRIBE) @@ -1373,7 +1374,7 @@ public class StompTest extends StompTestBase { conn.disconnect(); // make sure the durable subscription queue is still there - assertTrue(Wait.waitFor(() -> server.locateQueue(SimpleString.toSimpleString("myclientid." + durableSubName)) != null, 2000, 100)); + assertTrue(Wait.waitFor(() -> server.getActiveMQServer().locateQueue(SimpleString.toSimpleString("myclientid." + durableSubName)) != null, 2000, 100)); } @Test @@ -1383,7 +1384,7 @@ public class StompTest extends StompTestBase { conn.disconnect(); Thread.sleep(500); - assertNotNull(server.locateQueue(SimpleString.toSimpleString("myclientid." + getName()))); + assertNotNull(server.getActiveMQServer().locateQueue(SimpleString.toSimpleString("myclientid." + getName()))); conn.destroy(); conn = StompClientConnectionFactory.createClientConnection(uri); @@ -1393,7 +1394,7 @@ public class StompTest extends StompTestBase { conn.disconnect(); Thread.sleep(500); - assertNull(server.locateQueue(SimpleString.toSimpleString("myclientid." + getName()))); + assertNull(server.getActiveMQServer().locateQueue(SimpleString.toSimpleString("myclientid." + getName()))); } @Test @@ -1577,7 +1578,7 @@ public class StompTest extends StompTestBase { final String PREFIXED_ADDRESS = prefix + ADDRESS; String param = routingType.toString(); String urlParam = param.toLowerCase() + "Prefix"; - server.getRemotingService().createAcceptor("test", "tcp://" + hostname + ":" + port + "?protocols=" + StompProtocolManagerFactory.STOMP_PROTOCOL_NAME + "&" + urlParam + "=" + prefix).start(); + server.getActiveMQServer().getRemotingService().createAcceptor("test", "tcp://" + hostname + ":" + port + "?protocols=" + StompProtocolManagerFactory.STOMP_PROTOCOL_NAME + "&" + urlParam + "=" + prefix).start(); StompClientConnection conn = StompClientConnectionFactory.createClientConnection(uri); conn.connect(defUser, defPass); @@ -1596,7 +1597,7 @@ public class StompTest extends StompTestBase { assertEquals(uuid, frame.getHeader(Stomp.Headers.Response.RECEIPT_ID)); } - AddressInfo addressInfo = server.getAddressInfo(SimpleString.toSimpleString(ADDRESS)); + AddressInfo addressInfo = server.getActiveMQServer().getAddressInfo(SimpleString.toSimpleString(ADDRESS)); assertNotNull("No address was created with the name " + ADDRESS, addressInfo); Set<RoutingType> routingTypes = new HashSet<>(); @@ -1618,7 +1619,7 @@ public class StompTest extends StompTestBase { URI uri = createStompClientUri(scheme, hostname, port); final String ADDRESS = UUID.randomUUID().toString(); - server.getRemotingService().createAcceptor("test", "tcp://" + hostname + ":" + port + "?protocols=STOMP&anycastPrefix=/queue/&multicastPrefix=/topic/").start(); + server.getActiveMQServer().getRemotingService().createAcceptor("test", "tcp://" + hostname + ":" + port + "?protocols=STOMP&anycastPrefix=/queue/&multicastPrefix=/topic/").start(); StompClientConnection conn = StompClientConnectionFactory.createClientConnection(uri); conn.connect(defUser, defPass); @@ -1630,16 +1631,16 @@ public class StompTest extends StompTestBase { frame = conn.sendFrame(frame); assertEquals(uuid, frame.getHeader(Stomp.Headers.Response.RECEIPT_ID)); - AddressInfo addressInfo = server.getAddressInfo(SimpleString.toSimpleString(ADDRESS)); + AddressInfo addressInfo = server.getActiveMQServer().getAddressInfo(SimpleString.toSimpleString(ADDRESS)); assertNotNull("No address was created with the name " + ADDRESS, addressInfo); assertTrue(addressInfo.getRoutingTypes().contains(RoutingType.ANYCAST)); assertFalse(addressInfo.getRoutingTypes().contains(RoutingType.MULTICAST)); - assertNotNull(server.locateQueue(SimpleString.toSimpleString(ADDRESS))); + assertNotNull(server.getActiveMQServer().locateQueue(SimpleString.toSimpleString(ADDRESS))); // sending a MULTICAST message should alter the address to support MULTICAST frame = send(conn, "/topic/" + ADDRESS, null, "Hello World 1", true); assertFalse(frame.getCommand().equals("ERROR")); - addressInfo = server.getAddressInfo(SimpleString.toSimpleString(ADDRESS)); + addressInfo = server.getActiveMQServer().getAddressInfo(SimpleString.toSimpleString(ADDRESS)); assertTrue(addressInfo.getRoutingTypes().contains(RoutingType.ANYCAST)); assertTrue(addressInfo.getRoutingTypes().contains(RoutingType.MULTICAST)); @@ -1698,7 +1699,7 @@ public class StompTest extends StompTestBase { URI uri = createStompClientUri(scheme, hostname, port); final String ADDRESS = UUID.randomUUID().toString(); - server.getRemotingService().createAcceptor("test", "tcp://" + hostname + ":" + port + "?protocols=STOMP&anycastPrefix=/queue/&multicastPrefix=/topic/").start(); + server.getActiveMQServer().getRemotingService().createAcceptor("test", "tcp://" + hostname + ":" + port + "?protocols=STOMP&anycastPrefix=/queue/&multicastPrefix=/topic/").start(); StompClientConnection conn = StompClientConnectionFactory.createClientConnection(uri); conn.connect(defUser, defPass); @@ -1710,7 +1711,7 @@ public class StompTest extends StompTestBase { frame = conn.sendFrame(frame); assertEquals(uuid, frame.getHeader(Stomp.Headers.Response.RECEIPT_ID)); - AddressInfo addressInfo = server.getAddressInfo(SimpleString.toSimpleString(ADDRESS)); + AddressInfo addressInfo = server.getActiveMQServer().getAddressInfo(SimpleString.toSimpleString(ADDRESS)); assertNotNull("No address was created with the name " + ADDRESS, addressInfo); assertTrue(addressInfo.getRoutingTypes().contains(RoutingType.MULTICAST)); assertFalse(addressInfo.getRoutingTypes().contains(RoutingType.ANYCAST)); @@ -1718,10 +1719,10 @@ public class StompTest extends StompTestBase { // sending an ANYCAST message should alter the address to support ANYCAST and create an ANYCAST queue frame = send(conn, "/queue/" + ADDRESS, null, "Hello World 1", true); assertFalse(frame.getCommand().equals("ERROR")); - addressInfo = server.getAddressInfo(SimpleString.toSimpleString(ADDRESS)); + addressInfo = server.getActiveMQServer().getAddressInfo(SimpleString.toSimpleString(ADDRESS)); assertTrue(addressInfo.getRoutingTypes().contains(RoutingType.ANYCAST)); assertTrue(addressInfo.getRoutingTypes().contains(RoutingType.MULTICAST)); - assertNotNull(server.locateQueue(SimpleString.toSimpleString(ADDRESS))); + assertNotNull(server.getActiveMQServer().locateQueue(SimpleString.toSimpleString(ADDRESS))); // however, no message should be routed to the MULTICAST queue frame = conn.receiveFrame(1000); @@ -1791,7 +1792,7 @@ public class StompTest extends StompTestBase { final String ADDRESS = UUID.randomUUID().toString(); final String PREFIXED_ADDRESS = prefix + ADDRESS; String urlParam = routingType.toString().toLowerCase() + "Prefix"; - server.getRemotingService().createAcceptor("test", "tcp://" + hostname + ":" + port + "?protocols=" + StompProtocolManagerFactory.STOMP_PROTOCOL_NAME + "&" + urlParam + "=" + prefix).start(); + server.getActiveMQServer().getRemotingService().createAcceptor("test", "tcp://" + hostname + ":" + port + "?protocols=" + StompProtocolManagerFactory.STOMP_PROTOCOL_NAME + "&" + urlParam + "=" + prefix).start(); StompClientConnection conn = StompClientConnectionFactory.createClientConnection(uri); conn.connect(defUser, defPass); String uuid = UUID.randomUUID().toString(); @@ -1816,13 +1817,13 @@ public class StompTest extends StompTestBase { @Test public void testMulticastOperationsOnAnycastAddress() throws Exception { - server.getAddressSettingsRepository().addMatch("#", new AddressSettings().setAutoCreateAddresses(false).setAutoCreateQueues(false)); + server.getActiveMQServer().getAddressSettingsRepository().addMatch("#", new AddressSettings().setAutoCreateAddresses(false).setAutoCreateQueues(false)); testRoutingSemantics(RoutingType.MULTICAST.toString(), getQueuePrefix() + getQueueName()); } @Test public void testAnycastOperationsOnMulticastAddress() throws Exception { - server.getAddressSettingsRepository().addMatch("#", new AddressSettings().setAutoCreateAddresses(false).setAutoCreateQueues(false)); + server.getActiveMQServer().getAddressSettingsRepository().addMatch("#", new AddressSettings().setAutoCreateAddresses(false).setAutoCreateQueues(false)); testRoutingSemantics(RoutingType.ANYCAST.toString(), getTopicPrefix() + getTopicName()); } @@ -1852,7 +1853,7 @@ public class StompTest extends StompTestBase { @Test public void testGetManagementAttributeFromStomp() throws Exception { - server.getAddressSettingsRepository().addMatch("#", new AddressSettings().setAutoCreateAddresses(false).setAutoCreateQueues(false)); + server.getActiveMQServer().getAddressSettingsRepository().addMatch("#", new AddressSettings().setAutoCreateAddresses(false).setAutoCreateQueues(false)); conn.connect(defUser, defPass); subscribe(conn, null); @@ -1915,7 +1916,8 @@ public class StompTest extends StompTestBase { final String queueB = "queueB"; final String queueC = "queueC"; - ActiveMQServerControl serverControl = server.getActiveMQServerControl(); + ActiveMQServer activeMQServer = server.getActiveMQServer(); + ActiveMQServerControl serverControl = server.getActiveMQServer().getActiveMQServerControl(); serverControl.createAddress(addressA, RoutingType.ANYCAST.toString() + "," + RoutingType.MULTICAST.toString()); serverControl.createQueue(addressA, queueA, RoutingType.ANYCAST.toString()); serverControl.createQueue(addressA, queueB, RoutingType.ANYCAST.toString()); @@ -1923,8 +1925,8 @@ public class StompTest extends StompTestBase { send(conn, addressA, null, "Hello World!", true, RoutingType.ANYCAST); - assertTrue(Wait.waitFor(() -> server.locateQueue(SimpleString.toSimpleString(queueA)).getMessageCount() + server.locateQueue(SimpleString.toSimpleString(queueB)).getMessageCount() == 1, 2000, 100)); - assertTrue(Wait.waitFor(() -> server.locateQueue(SimpleString.toSimpleString(queueC)).getMessageCount() == 0, 2000, 100)); + assertTrue(Wait.waitFor(() -> activeMQServer.locateQueue(SimpleString.toSimpleString(queueA)).getMessageCount() + activeMQServer.locateQueue(SimpleString.toSimpleString(queueB)).getMessageCount() == 1, 2000, 100)); + assertTrue(Wait.waitFor(() -> activeMQServer.locateQueue(SimpleString.toSimpleString(queueC)).getMessageCount() == 0, 2000, 100)); } @Test @@ -1936,7 +1938,8 @@ public class StompTest extends StompTestBase { final String queueB = "queueB"; final String queueC = "queueC"; - ActiveMQServerControl serverControl = server.getActiveMQServerControl(); + ActiveMQServer activeMQServer = server.getActiveMQServer(); + ActiveMQServerControl serverControl = server.getActiveMQServer().getActiveMQServerControl(); serverControl.createAddress(addressA, RoutingType.ANYCAST.toString() + "," + RoutingType.MULTICAST.toString()); serverControl.createQueue(addressA, queueA, RoutingType.ANYCAST.toString()); serverControl.createQueue(addressA, queueB, RoutingType.MULTICAST.toString()); @@ -1944,8 +1947,8 @@ public class StompTest extends StompTestBase { send(conn, addressA, null, "Hello World!", true, RoutingType.MULTICAST); - assertTrue(Wait.waitFor(() -> server.locateQueue(SimpleString.toSimpleString(queueA)).getMessageCount() == 0, 2000, 100)); - assertTrue(Wait.waitFor(() -> server.locateQueue(SimpleString.toSimpleString(queueC)).getMessageCount() + server.locateQueue(SimpleString.toSimpleString(queueB)).getMessageCount() == 2, 2000, 100)); + assertTrue(Wait.waitFor(() -> activeMQServer.locateQueue(SimpleString.toSimpleString(queueA)).getMessageCount() == 0, 2000, 100)); + assertTrue(Wait.waitFor(() -> activeMQServer.locateQueue(SimpleString.toSimpleString(queueC)).getMessageCount() + activeMQServer.locateQueue(SimpleString.toSimpleString(queueB)).getMessageCount() == 2, 2000, 100)); } @Test @@ -1958,7 +1961,8 @@ public class StompTest extends StompTestBase { final String queueC = "queueC"; final String queueD = "queueD"; - ActiveMQServerControl serverControl = server.getActiveMQServerControl(); + ActiveMQServer activeMQServer = server.getActiveMQServer(); + ActiveMQServerControl serverControl = server.getActiveMQServer().getActiveMQServerControl(); serverControl.createAddress(addressA, RoutingType.ANYCAST.toString() + "," + RoutingType.MULTICAST.toString()); serverControl.createQueue(addressA, queueA, RoutingType.ANYCAST.toString()); serverControl.createQueue(addressA, queueB, RoutingType.ANYCAST.toString()); @@ -1967,8 +1971,8 @@ public class StompTest extends StompTestBase { send(conn, addressA, null, "Hello World!", true); - assertTrue(Wait.waitFor(() -> server.locateQueue(SimpleString.toSimpleString(queueA)).getMessageCount() + server.locateQueue(SimpleString.toSimpleString(queueB)).getMessageCount() == 1, 2000, 100)); - assertTrue(Wait.waitFor(() -> server.locateQueue(SimpleString.toSimpleString(queueC)).getMessageCount() + server.locateQueue(SimpleString.toSimpleString(queueD)).getMessageCount() == 2, 2000, 100)); + assertTrue(Wait.waitFor(() -> activeMQServer.locateQueue(SimpleString.toSimpleString(queueA)).getMessageCount() + activeMQServer.locateQueue(SimpleString.toSimpleString(queueB)).getMessageCount() == 1, 2000, 100)); + assertTrue(Wait.waitFor(() -> activeMQServer.locateQueue(SimpleString.toSimpleString(queueC)).getMessageCount() + activeMQServer.locateQueue(SimpleString.toSimpleString(queueD)).getMessageCount() == 2, 2000, 100)); } @Test @@ -1978,19 +1982,21 @@ public class StompTest extends StompTestBase { String queueName = UUID.randomUUID().toString(); SimpleString simpleQueueName = SimpleString.toSimpleString(queueName); - Assert.assertNull(server.getAddressInfo(simpleQueueName)); - Assert.assertNull(server.locateQueue(simpleQueueName)); + ActiveMQServer activeMQServer = server.getActiveMQServer(); - server.getAddressSettingsRepository().addMatch(queueName, new AddressSettings() + Assert.assertNull(activeMQServer.getAddressInfo(simpleQueueName)); + Assert.assertNull(activeMQServer.locateQueue(simpleQueueName)); + + activeMQServer.getAddressSettingsRepository().addMatch(queueName, new AddressSettings() .setDefaultAddressRoutingType(RoutingType.ANYCAST) .setDefaultQueueRoutingType(RoutingType.ANYCAST) ); send(conn, queueName, null, "Hello ANYCAST"); - assertTrue("Address and queue should be created now", Wait.waitFor(() -> (server.getAddressInfo(simpleQueueName) != null) && (server.locateQueue(simpleQueueName) != null), 2000, 200)); - assertTrue(server.getAddressInfo(simpleQueueName).getRoutingTypes().contains(RoutingType.ANYCAST)); - assertEquals(RoutingType.ANYCAST, server.locateQueue(simpleQueueName).getRoutingType()); + assertTrue("Address and queue should be created now", Wait.waitFor(() -> (activeMQServer.getAddressInfo(simpleQueueName) != null) && (activeMQServer.locateQueue(simpleQueueName) != null), 2000, 200)); + assertTrue(activeMQServer.getAddressInfo(simpleQueueName).getRoutingTypes().contains(RoutingType.ANYCAST)); + assertEquals(RoutingType.ANYCAST, activeMQServer.locateQueue(simpleQueueName).getRoutingType()); } @Test @@ -2000,13 +2006,15 @@ public class StompTest extends StompTestBase { String queueName = UUID.randomUUID().toString(); SimpleString simpleQueueName = SimpleString.toSimpleString(queueName); - Assert.assertNull(server.getAddressInfo(simpleQueueName)); - Assert.assertNull(server.locateQueue(simpleQueueName)); + ActiveMQServer activeMQServer = server.getActiveMQServer(); + + Assert.assertNull(activeMQServer.getAddressInfo(simpleQueueName)); + Assert.assertNull(activeMQServer.locateQueue(simpleQueueName)); send(conn, queueName, null, "Hello MULTICAST"); - assertTrue("Address should be created now", Wait.waitFor(() -> (server.getAddressInfo(simpleQueueName) != null), 2000, 200)); - assertTrue(server.getAddressInfo(simpleQueueName).getRoutingTypes().contains(RoutingType.MULTICAST)); - Assert.assertNull(server.locateQueue(simpleQueueName)); + assertTrue("Address should be created now", Wait.waitFor(() -> (activeMQServer.getAddressInfo(simpleQueueName) != null), 2000, 200)); + assertTrue(activeMQServer.getAddressInfo(simpleQueueName).getRoutingTypes().contains(RoutingType.MULTICAST)); + Assert.assertNull(activeMQServer.locateQueue(simpleQueueName)); } } http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTestBase.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTestBase.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTestBase.java index 58b8336..66a55fc 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTestBase.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTestBase.java @@ -40,11 +40,10 @@ import java.util.UUID; import org.apache.activemq.artemis.api.core.RoutingType; import org.apache.activemq.artemis.api.core.TransportConfiguration; import org.apache.activemq.artemis.core.config.Configuration; -import org.apache.activemq.artemis.core.config.CoreAddressConfiguration; -import org.apache.activemq.artemis.core.config.CoreQueueConfiguration; import org.apache.activemq.artemis.core.protocol.mqtt.MQTTProtocolManagerFactory; import org.apache.activemq.artemis.core.protocol.stomp.Stomp; import org.apache.activemq.artemis.core.protocol.stomp.StompProtocolManagerFactory; +import org.apache.activemq.artemis.core.registry.JndiBindingRegistry; import org.apache.activemq.artemis.core.remoting.impl.invm.InVMAcceptorFactory; import org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnectorFactory; import org.apache.activemq.artemis.core.remoting.impl.netty.NettyAcceptorFactory; @@ -54,10 +53,17 @@ import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.core.server.ActiveMQServers; import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory; import org.apache.activemq.artemis.jms.client.ActiveMQJMSConnectionFactory; +import org.apache.activemq.artemis.jms.server.JMSServerManager; +import org.apache.activemq.artemis.jms.server.config.JMSConfiguration; +import org.apache.activemq.artemis.jms.server.config.impl.JMSConfigurationImpl; +import org.apache.activemq.artemis.jms.server.config.impl.JMSQueueConfigurationImpl; +import org.apache.activemq.artemis.jms.server.config.impl.TopicConfigurationImpl; +import org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl; import org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager; import org.apache.activemq.artemis.tests.integration.IntegrationTestLogger; import org.apache.activemq.artemis.tests.integration.stomp.util.ClientStompFrame; import org.apache.activemq.artemis.tests.integration.stomp.util.StompClientConnection; +import org.apache.activemq.artemis.tests.unit.util.InVMNamingContext; import org.apache.activemq.artemis.tests.util.ActiveMQTestBase; import org.junit.After; import org.junit.Before; @@ -91,7 +97,7 @@ public abstract class StompTestBase extends ActiveMQTestBase { protected Topic topic; - protected ActiveMQServer server; + protected JMSServerManager server; protected String defUser = "brianm"; @@ -137,7 +143,7 @@ public abstract class StompTestBase extends ActiveMQTestBase { server = createServer(); server.start(); - waitForServerToStart(server); + waitForServerToStart(server.getActiveMQServer()); connectionFactory = createConnectionFactory(); @@ -168,7 +174,7 @@ public abstract class StompTestBase extends ActiveMQTestBase { * @return * @throws Exception */ - protected ActiveMQServer createServer() throws Exception { + protected JMSServerManager createServer() throws Exception { Map<String, Object> params = new HashMap<>(); params.put(TransportConstants.PROTOCOLS_PROP_NAME, StompProtocolManagerFactory.STOMP_PROTOCOL_NAME + "," + MQTTProtocolManagerFactory.MQTT_PROTOCOL_NAME); params.put(TransportConstants.PORT_PROP_NAME, TransportConstants.DEFAULT_STOMP_PORT); @@ -185,9 +191,7 @@ public abstract class StompTestBase extends ActiveMQTestBase { .setPersistenceEnabled(isPersistenceEnabled()) .addAcceptorConfiguration(stompTransport) .addAcceptorConfiguration(new TransportConfiguration(InVMAcceptorFactory.class.getName())) - .setConnectionTtlCheckInterval(500) - .addQueueConfiguration(new CoreQueueConfiguration().setAddress(getQueueName()).setName(getQueueName()).setRoutingType(RoutingType.ANYCAST)) - .addAddressConfiguration(new CoreAddressConfiguration().setName(getTopicName()).addRoutingType(RoutingType.MULTICAST)); + .setConnectionTtlCheckInterval(500); if (getIncomingInterceptors() != null) { config.setIncomingInterceptorClassNames(getIncomingInterceptors()); @@ -213,7 +217,12 @@ public abstract class StompTestBase extends ActiveMQTestBase { }); } - return activeMQServer; + JMSConfiguration jmsConfig = new JMSConfigurationImpl(); + jmsConfig.getQueueConfigurations().add(new JMSQueueConfigurationImpl().setName(getQueueName()).setBindings(getQueueName())); + jmsConfig.getTopicConfigurations().add(new TopicConfigurationImpl().setName(getTopicName()).setBindings(getTopicName())); + server = new JMSServerManagerImpl(activeMQServer, jmsConfig); + server.setRegistry(new JndiBindingRegistry(new InVMNamingContext())); + return server; } protected ConnectionFactory createConnectionFactory() { http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTestMultiThreaded.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTestMultiThreaded.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTestMultiThreaded.java index 3b71ec2..63dd35b 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTestMultiThreaded.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompTestMultiThreaded.java @@ -67,8 +67,8 @@ public class StompTestMultiThreaded extends StompTestBase { @Test public void testTwoConcurrentSubscribers() throws Exception { - server.getAddressSettingsRepository().addMatch("#", new AddressSettings().setAutoDeleteAddresses(false).setAutoDeleteQueues(false)); - server.getRemotingService().createAcceptor("test", "tcp://localhost:61614?protocols=STOMP&anycastPrefix=/queue/").start(); + server.getActiveMQServer().getAddressSettingsRepository().addMatch("#", new AddressSettings().setAutoDeleteAddresses(false).setAutoDeleteQueues(false)); + server.getActiveMQServer().getRemotingService().createAcceptor("test", "tcp://localhost:61614?protocols=STOMP&anycastPrefix=/queue/").start(); int nThreads = 2; @@ -89,7 +89,7 @@ public class StompTestMultiThreaded extends StompTestBase { } // delete queue here so it can be auto-created again during the next loop iteration - server.locateQueue(QUEUE).deleteQueue(); + server.getActiveMQServer().locateQueue(QUEUE).deleteQueue(); } } } http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompWebSocketMaxFrameTest.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompWebSocketMaxFrameTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompWebSocketMaxFrameTest.java index 8bdf2f7..f48e5cd 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompWebSocketMaxFrameTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/stomp/StompWebSocketMaxFrameTest.java @@ -46,7 +46,7 @@ public class StompWebSocketMaxFrameTest extends StompTestBase { @Override public void setUp() throws Exception { super.setUp(); - server.getRemotingService().createAcceptor("test", "tcp://127.0.0.1:" + wsport + "?stompMaxFramePayloadLength=" + stompWSMaxFrameSize).start(); + server.getActiveMQServer().getRemotingService().createAcceptor("test", "tcp://127.0.0.1:" + wsport + "?stompMaxFramePayloadLength=" + stompWSMaxFrameSize).start(); wsURI = createStompClientUri(scheme, hostname, wsport); }
