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);
    }
 

Reply via email to