You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2018/07/13 15:30:13 UTC
[3/3] activemq-artemis git commit: Revert "ARTEMIS-1954 eliminate all
possible usage of JMSServerManager"
Revert "ARTEMIS-1954 eliminate all possible usage of JMSServerManager"
This reverts commit d35f01d25d898d50d90c17be534d127074ec7618.
Redeployment of JMS Queues is broken.
Please re-submit your PR after fixing RedeployTest and its redeployment options.
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/cf8f0cac
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/cf8f0cac
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/cf8f0cac
Branch: refs/heads/master
Commit: cf8f0cac81bf591059ee04c9401c51f9999459bd
Parents: 7d5a31a
Author: Clebert Suconic <cl...@apache.org>
Authored: Fri Jul 13 11:29:28 2018 -0400
Committer: Clebert Suconic <cl...@apache.org>
Committed: Fri Jul 13 11:29:28 2018 -0400
----------------------------------------------------------------------
.../cdi/factory/ConnectionFactoryProvider.java | 4 +-
.../jms/server/embedded/EmbeddedJMS.java | 5 -
.../artemis/junit/EmbeddedJMSResource.java | 4 -
.../integration/ActiveMQBootstrapListener.java | 15 ++-
.../rest/integration/EmbeddedRestActiveMQ.java | 13 +-
.../integration/EmbeddedRestActiveMQJMS.java | 7 +-
.../EmbeddedRestActiveMQJMSTest.java | 34 +++--
.../artemis/rest/test/EmbeddedTest.java | 19 ++-
artemis-rest/src/test/resources/broker.xml | 60 +++++----
docs/user-manual/en/unit-testing.md | 8 +-
.../src/main/resources/spring-jms-beans.xml | 5 +-
.../spring/SpringBindingRegistry.java | 4 -
.../integration/spring/SpringJmsBootstrap.java | 5 -
.../addressConfig/artemisServer.groovy | 1 -
.../main/resources/servers/artemisServer.groovy | 1 -
.../byteman/JMSBridgeReconnectionTest.java | 6 +-
.../tests/extras/jms/bridge/BridgeTestBase.java | 64 +++++++--
.../jms/bridge/ClusteredBridgeTestBase.java | 37 ++++--
.../jms/bridge/JMSBridgeReconnectionTest.java | 24 ++--
.../tests/extras/jms/bridge/JMSBridgeTest.java | 12 +-
.../hornetq/HornetQProtocolManagerTest.java | 51 ++++++--
.../integration/client/FailureDeadlockTest.java | 9 +-
.../crossprotocol/AMQPToOpenwireTest.java | 4 +-
.../tests/integration/jms/FloodServerTest.java | 36 ++++-
.../ManualReconnectionToSingleServerTest.java | 45 ++++---
.../tests/integration/jms/RedeployTest.java | 113 ++++++++--------
.../jms/client/RemoteConnectionStressTest.java | 20 ++-
.../jms/cluster/JMSFailoverListenerTest.java | 30 ++++-
.../jms/connection/ExceptionListenerTest.java | 12 +-
.../jms/server/JMSServerStartStopTest.java | 22 +++-
.../integration/openwire/OpenWireTestBase.java | 41 +++++-
.../amq/ConnectionErrorSocketCloseTest.java | 11 +-
.../paging/MultipleProducersPagingTest.java | 39 +++---
.../integration/persistence/SyncSendTest.java | 10 +-
.../integration/plugin/StompPluginTest.java | 10 +-
.../spring/SpringIntegrationTest.java | 4 +-
.../tests/integration/stomp/FQQNStompTest.java | 2 +-
.../stomp/StompConnectionCleanupTest.java | 16 +--
.../tests/integration/stomp/StompTest.java | 130 ++++++++++---------
.../tests/integration/stomp/StompTestBase.java | 27 ++--
.../stomp/StompTestMultiThreaded.java | 6 +-
.../stomp/StompWebSocketMaxFrameTest.java | 2 +-
.../integration/stomp/StompWebSocketTest.java | 14 +-
.../stomp/StompWithClientIdValidationTest.java | 14 +-
.../stomp/StompWithLargeMessagesTest.java | 2 +-
.../stomp/StompWithSecurityTest.java | 2 +-
.../integration/stomp/v11/StompV11Test.java | 24 ++--
.../integration/stomp/v12/StompV12Test.java | 8 +-
.../src/test/resources/spring-jms-beans.xml | 2 +-
.../artemis/jms/tests/AcknowledgementTest.java | 13 +-
.../jms/tests/ActiveMQServerTestCase.java | 5 +
.../artemis/jms/tests/CTSMiscellaneousTest.java | 16 ++-
.../activemq/artemis/jms/tests/JMSTestCase.java | 16 ++-
.../artemis/jms/tests/SecurityTest.java | 1 -
.../artemis/common/SpawnedJMSServer.java | 9 +-
.../jms/bridge/impl/JMSBridgeImplTest.java | 20 ++-
56 files changed, 713 insertions(+), 401 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/artemis-cdi-client/src/main/java/org/apache/artemis/client/cdi/factory/ConnectionFactoryProvider.java
----------------------------------------------------------------------
diff --git a/artemis-cdi-client/src/main/java/org/apache/artemis/client/cdi/factory/ConnectionFactoryProvider.java b/artemis-cdi-client/src/main/java/org/apache/artemis/client/cdi/factory/ConnectionFactoryProvider.java
index de53dc0..b249474 100644
--- a/artemis-cdi-client/src/main/java/org/apache/artemis/client/cdi/factory/ConnectionFactoryProvider.java
+++ b/artemis-cdi-client/src/main/java/org/apache/artemis/client/cdi/factory/ConnectionFactoryProvider.java
@@ -35,6 +35,7 @@ import org.apache.activemq.artemis.core.remoting.impl.netty.TransportConstants;
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.artemis.client.cdi.configuration.ArtemisClientConfiguration;
@ApplicationScoped
@@ -55,7 +56,8 @@ public class ConnectionFactoryProvider {
if (configuration.startEmbeddedBroker()) {
try {
ActiveMQServer activeMQServer = ActiveMQServers.newActiveMQServer(embeddedConfiguration, false);
- activeMQServer.start();
+ JMSServerManagerImpl jmsServerManager = new JMSServerManagerImpl(activeMQServer);
+ jmsServerManager.start();
} catch (Exception e) {
throw new RuntimeException("Unable to start embedded JMS", e);
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/embedded/EmbeddedJMS.java
----------------------------------------------------------------------
diff --git a/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/embedded/EmbeddedJMS.java b/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/embedded/EmbeddedJMS.java
index 4904242..5efffe6 100644
--- a/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/embedded/EmbeddedJMS.java
+++ b/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/embedded/EmbeddedJMS.java
@@ -30,17 +30,12 @@ import org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl;
import org.apache.activemq.artemis.spi.core.naming.BindingRegistry;
/**
- * Deprecated in favor of org.apache.activemq.artemis.core.server.embedded.EmbeddedActiveMQ. Since Artemis 2.0 all JMS
- * specific broker management classes, interfaces, and methods have been deprecated in favor of their more general
- * counter-parts.
- *
* Simple bootstrap class that parses activemq config files (server and jms and security) and starts
* an ActiveMQServer instance and populates it with configured JMS endpoints.
* <p>
* JMS Endpoints are registered with a simple MapBindingRegistry. If you want to use a different registry
* you must set the registry property of this class or call the setRegistry() method if you want to use JNDI
*/
-@Deprecated
public class EmbeddedJMS extends EmbeddedActiveMQ {
protected JMSServerManagerImpl serverManager;
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/artemis-junit/src/main/java/org/apache/activemq/artemis/junit/EmbeddedJMSResource.java
----------------------------------------------------------------------
diff --git a/artemis-junit/src/main/java/org/apache/activemq/artemis/junit/EmbeddedJMSResource.java b/artemis-junit/src/main/java/org/apache/activemq/artemis/junit/EmbeddedJMSResource.java
index be21a6f..3a2b05d 100644
--- a/artemis-junit/src/main/java/org/apache/activemq/artemis/junit/EmbeddedJMSResource.java
+++ b/artemis-junit/src/main/java/org/apache/activemq/artemis/junit/EmbeddedJMSResource.java
@@ -56,9 +56,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * Deprecated in favor of EmbeddedActiveMQResource. Since Artemis 2.0 all JMS specific broker management classes,
- * interfaces, and methods have been deprecated in favor of their more general counter-parts.
- *
* A JUnit Rule that embeds an ActiveMQ Artemis JMS server into a test.
*
* This JUnit Rule is designed to simplify using embedded servers in unit tests. Adding the rule to a test will startup
@@ -76,7 +73,6 @@ import org.slf4j.LoggerFactory;
* }
* </code></pre>
*/
-@Deprecated
public class EmbeddedJMSResource extends ExternalResource {
static final String SERVER_NAME = "embedded-jms-server";
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/integration/ActiveMQBootstrapListener.java
----------------------------------------------------------------------
diff --git a/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/integration/ActiveMQBootstrapListener.java b/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/integration/ActiveMQBootstrapListener.java
index 035cfee..0fb3731 100644
--- a/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/integration/ActiveMQBootstrapListener.java
+++ b/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/integration/ActiveMQBootstrapListener.java
@@ -16,20 +16,23 @@
*/
package org.apache.activemq.artemis.rest.integration;
+import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
-import org.apache.activemq.artemis.core.server.embedded.EmbeddedActiveMQ;
+import org.apache.activemq.artemis.jms.server.embedded.EmbeddedJMS;
public class ActiveMQBootstrapListener implements ServletContextListener {
- private EmbeddedActiveMQ activeMQ;
+ private EmbeddedJMS jms;
@Override
public void contextInitialized(ServletContextEvent contextEvent) {
- activeMQ = new EmbeddedActiveMQ();
+ ServletContext context = contextEvent.getServletContext();
+ jms = new EmbeddedJMS();
+ jms.setRegistry(new ServletContextBindingRegistry(context));
try {
- activeMQ.start();
+ jms.start();
} catch (Exception e) {
throw new RuntimeException(e);
}
@@ -38,8 +41,8 @@ public class ActiveMQBootstrapListener implements ServletContextListener {
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
try {
- if (activeMQ != null)
- activeMQ.stop();
+ if (jms != null)
+ jms.stop();
} catch (Exception e) {
throw new RuntimeException(e);
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQ.java
----------------------------------------------------------------------
diff --git a/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQ.java b/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQ.java
index 7a24caa..fff8a44 100644
--- a/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQ.java
+++ b/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQ.java
@@ -22,13 +22,13 @@ import org.apache.activemq.artemis.rest.MessageServiceManager;
import org.jboss.resteasy.plugins.server.tjws.TJWSEmbeddedJaxrsServer;
import org.jboss.resteasy.test.TestPortProvider;
-public class EmbeddedRestActiveMQ {
+class EmbeddedRestActiveMQ {
private TJWSEmbeddedJaxrsServer tjws = new TJWSEmbeddedJaxrsServer();
- private EmbeddedActiveMQ embeddedActiveMQ;
+ EmbeddedActiveMQ embeddedActiveMQ;
private MessageServiceManager manager = new MessageServiceManager(null);
- public EmbeddedRestActiveMQ(ConnectionFactoryOptions jmsOptions) {
+ EmbeddedRestActiveMQ(ConnectionFactoryOptions jmsOptions) {
int port = TestPortProvider.getPort();
tjws.setPort(port);
tjws.setRootResourcePath("");
@@ -65,11 +65,4 @@ public class EmbeddedRestActiveMQ {
embeddedActiveMQ.stop();
}
- public EmbeddedActiveMQ getEmbeddedActiveMQ() {
- return embeddedActiveMQ;
- }
-
- public void setEmbeddedActiveMQ(EmbeddedActiveMQ embeddedActiveMQ) {
- this.embeddedActiveMQ = embeddedActiveMQ;
- }
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQJMS.java
----------------------------------------------------------------------
diff --git a/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQJMS.java b/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQJMS.java
index 8be6903..550be7d 100644
--- a/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQJMS.java
+++ b/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQJMS.java
@@ -20,7 +20,6 @@ import org.apache.activemq.artemis.jms.client.ConnectionFactoryOptions;
import org.apache.activemq.artemis.jms.server.embedded.EmbeddedJMS;
import org.apache.activemq.artemis.spi.core.naming.BindingRegistry;
-@Deprecated
public class EmbeddedRestActiveMQJMS extends EmbeddedRestActiveMQ {
public EmbeddedRestActiveMQJMS(ConnectionFactoryOptions jmsOptions) {
@@ -29,14 +28,14 @@ public class EmbeddedRestActiveMQJMS extends EmbeddedRestActiveMQ {
@Override
protected void initEmbeddedActiveMQ() {
- super.setEmbeddedActiveMQ(new EmbeddedJMS());
+ embeddedActiveMQ = new EmbeddedJMS();
}
public BindingRegistry getRegistry() {
- return ((EmbeddedJMS) getEmbeddedActiveMQ()).getRegistry();
+ return ((EmbeddedJMS) embeddedActiveMQ).getRegistry();
}
public EmbeddedJMS getEmbeddedJMS() {
- return (EmbeddedJMS) getEmbeddedActiveMQ();
+ return (EmbeddedJMS) embeddedActiveMQ;
}
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQJMSTest.java
----------------------------------------------------------------------
diff --git a/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQJMSTest.java b/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQJMSTest.java
index 88ac35f..f012020 100644
--- a/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQJMSTest.java
+++ b/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/integration/EmbeddedRestActiveMQJMSTest.java
@@ -19,22 +19,26 @@ package org.apache.activemq.artemis.rest.integration;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
+import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
-import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient;
+import org.apache.activemq.artemis.api.jms.JMSFactoryType;
import org.apache.activemq.artemis.core.config.impl.SecurityConfiguration;
import org.apache.activemq.artemis.rest.HttpHeaderProperty;
import org.apache.activemq.artemis.rest.test.TransformTest;
-import org.apache.activemq.artemis.rest.test.Util;
+import org.apache.activemq.artemis.spi.core.naming.BindingRegistry;
import org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager;
import org.apache.activemq.artemis.spi.core.security.jaas.InVMLoginModule;
import org.jboss.resteasy.client.ClientRequest;
import org.jboss.resteasy.client.ClientResponse;
import org.jboss.resteasy.spi.Link;
import org.jboss.resteasy.test.TestPortProvider;
+import org.apache.activemq.artemis.rest.test.Util;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -44,22 +48,22 @@ import static org.junit.Assert.assertNotNull;
public class EmbeddedRestActiveMQJMSTest {
- private static EmbeddedRestActiveMQ server;
- private static ConnectionFactory factory;
+ private static EmbeddedRestActiveMQJMS server;
private static Link consumeNext;
@BeforeClass
public static void startEmbedded() throws Exception {
- server = new EmbeddedRestActiveMQ(null);
- assertNotNull(server.getEmbeddedActiveMQ());
+ server = new EmbeddedRestActiveMQJMS(null);
+ assertNotNull(server.embeddedActiveMQ);
server.getManager().setConfigResourcePath("activemq-rest.xml");
SecurityConfiguration securityConfiguration = createDefaultSecurityConfiguration();
ActiveMQJAASSecurityManager securityManager = new ActiveMQJAASSecurityManager(InVMLoginModule.class.getName(), securityConfiguration);
- server.getEmbeddedActiveMQ().setSecurityManager(securityManager);
+ server.getEmbeddedJMS().setSecurityManager(securityManager);
server.start();
- factory = ActiveMQJMSClient.createConnectionFactory("vm://0", "cf");
+ List<String> connectors = createInVmConnector();
+ server.getEmbeddedJMS().getJMSServerManager().createConnectionFactory("ConnectionFactory", false, JMSFactoryType.CF, connectors, "ConnectionFactory");
ClientRequest request = new ClientRequest(TestPortProvider.generateURL("/queues/exampleQueue"));
@@ -75,6 +79,12 @@ public class EmbeddedRestActiveMQJMSTest {
System.out.println("consume-next: " + consumeNext);
}
+ private static List<String> createInVmConnector() {
+ List<String> connectors = new ArrayList<>();
+ connectors.add("in-vm");
+ return connectors;
+ }
+
@AfterClass
public static void stopEmbedded() throws Exception {
server.stop();
@@ -157,6 +167,12 @@ public class EmbeddedRestActiveMQJMSTest {
assertNotNull(consumeNext);
}
+ private static Connection createConnection() throws JMSException {
+ BindingRegistry reg = server.getRegistry();
+ ConnectionFactory factory = (ConnectionFactory) reg.lookup("ConnectionFactory");
+ return factory.createConnection();
+ }
+
private static SecurityConfiguration createDefaultSecurityConfiguration() {
SecurityConfiguration securityConfiguration = new SecurityConfiguration();
securityConfiguration.addUser("guest", "guest");
@@ -173,7 +189,7 @@ public class EmbeddedRestActiveMQJMSTest {
}
private static void publish(String destination, Serializable object, String contentType) throws Exception {
- Connection conn = factory.createConnection();
+ Connection conn = createConnection();
Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination dest = session.createQueue(destination);
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/EmbeddedTest.java
----------------------------------------------------------------------
diff --git a/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/EmbeddedTest.java b/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/EmbeddedTest.java
index 07d6980..dc0ea0f 100644
--- a/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/EmbeddedTest.java
+++ b/artemis-rest/src/test/java/org/apache/activemq/artemis/rest/test/EmbeddedTest.java
@@ -23,11 +23,14 @@ import javax.jms.MessageProducer;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
-import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient;
+import org.apache.activemq.artemis.api.jms.JMSFactoryType;
import org.apache.activemq.artemis.core.config.impl.SecurityConfiguration;
import org.apache.activemq.artemis.rest.HttpHeaderProperty;
-import org.apache.activemq.artemis.rest.integration.EmbeddedRestActiveMQ;
+import org.apache.activemq.artemis.rest.integration.EmbeddedRestActiveMQJMS;
+import org.apache.activemq.artemis.spi.core.naming.BindingRegistry;
import org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager;
import org.apache.activemq.artemis.spi.core.security.jaas.InVMLoginModule;
import org.jboss.resteasy.client.ClientRequest;
@@ -41,19 +44,22 @@ import org.junit.Test;
public class EmbeddedTest {
- public static EmbeddedRestActiveMQ server;
+ public static EmbeddedRestActiveMQJMS server;
@BeforeClass
public static void startEmbedded() throws Exception {
- server = new EmbeddedRestActiveMQ(null);
+ server = new EmbeddedRestActiveMQJMS(null);
server.getManager().setConfigResourcePath("activemq-rest.xml");
SecurityConfiguration securityConfiguration = new SecurityConfiguration();
securityConfiguration.addUser("guest", "guest");
securityConfiguration.addRole("guest", "guest");
securityConfiguration.setDefaultUser("guest");
ActiveMQJAASSecurityManager securityManager = new ActiveMQJAASSecurityManager(InVMLoginModule.class.getName(), securityConfiguration);
- server.getEmbeddedActiveMQ().setSecurityManager(securityManager);
+ server.getEmbeddedJMS().setSecurityManager(securityManager);
server.start();
+ List<String> connectors = new ArrayList<>();
+ connectors.add("in-vm");
+ server.getEmbeddedJMS().getJMSServerManager().createConnectionFactory("ConnectionFactory", false, JMSFactoryType.CF, connectors, "ConnectionFactory");
}
@AfterClass
@@ -63,7 +69,8 @@ public class EmbeddedTest {
}
public static void publish(String destination, Serializable object, String contentType) throws Exception {
- ConnectionFactory factory = ActiveMQJMSClient.createConnectionFactory("vm://0","cf");
+ BindingRegistry reg = server.getRegistry();
+ ConnectionFactory factory = (ConnectionFactory) reg.lookup("ConnectionFactory");
Connection conn = factory.createConnection();
Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination dest = session.createQueue(destination);
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/artemis-rest/src/test/resources/broker.xml
----------------------------------------------------------------------
diff --git a/artemis-rest/src/test/resources/broker.xml b/artemis-rest/src/test/resources/broker.xml
index a74b1ba..4d76412 100644
--- a/artemis-rest/src/test/resources/broker.xml
+++ b/artemis-rest/src/test/resources/broker.xml
@@ -14,36 +14,40 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<configuration xmlns="urn:activemq" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:activemq /schema/artemis-server.xsd">
+<configuration xmlns="urn:activemq"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:activemq /schema/artemis-server.xsd">
+ <jms xmlns="urn:activemq:jms">
+ <!--the queue used by the example-->
+ <queue name="exampleQueue"/>
+ </jms>
+
<core xmlns="urn:activemq:core">
- <persistence-enabled>false</persistence-enabled>
-
- <acceptors>
- <acceptor name="in-vm">vm://0</acceptor>
- </acceptors>
-
- <!-- Other config -->
-
- <security-settings>
- <!--security for example queue-->
- <security-setting match="exampleQueue">
- <permission type="createDurableQueue" roles="guest"/>
- <permission type="deleteDurableQueue" roles="guest"/>
- <permission type="createNonDurableQueue" roles="guest"/>
- <permission type="deleteNonDurableQueue" roles="guest"/>
- <permission type="consume" roles="guest"/>
- <permission type="send" roles="guest"/>
- </security-setting>
- </security-settings>
-
- <addresses>
- <address name="exampleQueue">
- <anycast>
- <queue name="exampleQueue"/>
- </anycast>
- </address>
- </addresses>
+ <persistence-enabled>false</persistence-enabled>
+ <!-- Connectors -->
+
+ <connectors>
+ <connector name="in-vm">vm://0</connector>
+ </connectors>
+
+ <acceptors>
+ <acceptor name="in-vm">vm://0</acceptor>
+ </acceptors>
+
+ <!-- Other config -->
+
+ <security-settings>
+ <!--security for example queue-->
+ <security-setting match="exampleQueue">
+ <permission type="createDurableQueue" roles="guest"/>
+ <permission type="deleteDurableQueue" roles="guest"/>
+ <permission type="createNonDurableQueue" roles="guest"/>
+ <permission type="deleteNonDurableQueue" roles="guest"/>
+ <permission type="consume" roles="guest"/>
+ <permission type="send" roles="guest"/>
+ </security-setting>
+ </security-settings>
</core>
</configuration>
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/docs/user-manual/en/unit-testing.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/unit-testing.md b/docs/user-manual/en/unit-testing.md
index 7c909b7..859ec00 100644
--- a/docs/user-manual/en/unit-testing.md
+++ b/docs/user-manual/en/unit-testing.md
@@ -22,14 +22,14 @@ These are provided as JUnit "rules" and can make it easier to embed messaging fu
### Declare a rule on your JUnit Test
```java
-import org.apache.activemq.artemis.junit.EmbeddedActiveMQResource;
+import org.apache.activemq.artemis.junit.EmbeddedJMSResource;
import org.junit.Rule;
import org.junit.Test;
public class MyTest {
@Rule
- public EmbeddedActiveMQResource resource = new EmbeddedActiveMQResource();
+ public EmbeddedJMSResource resource = new EmbeddedJMSResource();
@Test
public void myTest() {
@@ -45,8 +45,8 @@ This will start a server that will be available for your test:
[main] 17:00:16,666 INFO [org.apache.activemq.artemis.core.server] AMQ221045: libaio is not available, switching the configuration into NIO
[main] 17:00:16,688 INFO [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-server]. Adding protocol support for: CORE
[main] 17:00:16,801 INFO [org.apache.activemq.artemis.core.server] AMQ221007: Server is now live
-[main] 17:00:16,801 INFO [org.apache.activemq.artemis.core.server] AMQ221001: Apache ActiveMQ Artemis Message Broker version 2.5.0-SNAPSHOT [embedded-server, nodeID=39e78380-842c-11e6-9e43-f45c8992f3c7]
-[main] 17:00:16,891 INFO [org.apache.activemq.artemis.core.server] AMQ221002: Apache ActiveMQ Artemis Message Broker version 2.5.0-SNAPSHOT [39e78380-842c-11e6-9e43-f45c8992f3c7] stopped, uptime 0.272 seconds
+[main] 17:00:16,801 INFO [org.apache.activemq.artemis.core.server] AMQ221001: Apache ActiveMQ Artemis Message Broker version 1.5.0-SNAPSHOT [embedded-jms-server, nodeID=39e78380-842c-11e6-9e43-f45c8992f3c7]
+[main] 17:00:16,891 INFO [org.apache.activemq.artemis.core.server] AMQ221002: Apache ActiveMQ Artemis Message Broker version 1.5.0-SNAPSHOT [39e78380-842c-11e6-9e43-f45c8992f3c7] stopped, uptime 0.272 seconds
```
### Ordering rules
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/examples/features/standard/spring-integration/src/main/resources/spring-jms-beans.xml
----------------------------------------------------------------------
diff --git a/examples/features/standard/spring-integration/src/main/resources/spring-jms-beans.xml b/examples/features/standard/spring-integration/src/main/resources/spring-jms-beans.xml
index 4a50a81..07545fe 100644
--- a/examples/features/standard/spring-integration/src/main/resources/spring-jms-beans.xml
+++ b/examples/features/standard/spring-integration/src/main/resources/spring-jms-beans.xml
@@ -47,8 +47,9 @@ under the License.
</constructor-arg>
</bean>
- <bean id="EmbeddedActiveMQ" class="org.apache.activemq.artemis.core.server.embedded.EmbeddedActiveMQ" init-method="start" destroy-method="stop">
- <property name="SecurityManager" ref="securityManager"/>
+ <bean id="EmbeddedJms" class="org.apache.activemq.artemis.integration.spring.SpringJmsBootstrap" init-method="start"
+ destroy-method="close">
+ <property name="SecurityManager" ref="securityManager"/>
</bean>
<bean id="connectionFactory" class="org.apache.activemq.artemis.jms.client.ActiveMQJMSConnectionFactory">
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/integration/activemq-spring-integration/src/main/java/org/apache/activemq/artemis/integration/spring/SpringBindingRegistry.java
----------------------------------------------------------------------
diff --git a/integration/activemq-spring-integration/src/main/java/org/apache/activemq/artemis/integration/spring/SpringBindingRegistry.java b/integration/activemq-spring-integration/src/main/java/org/apache/activemq/artemis/integration/spring/SpringBindingRegistry.java
index 892eb6f..cda3f8a 100644
--- a/integration/activemq-spring-integration/src/main/java/org/apache/activemq/artemis/integration/spring/SpringBindingRegistry.java
+++ b/integration/activemq-spring-integration/src/main/java/org/apache/activemq/artemis/integration/spring/SpringBindingRegistry.java
@@ -20,10 +20,6 @@ import org.apache.activemq.artemis.spi.core.naming.BindingRegistry;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
-/**
- * This has been deprecated since org.apache.activemq.artemis.integration.spring.SpringJmsBootstrap was also deprecated.
- */
-@Deprecated
public class SpringBindingRegistry implements BindingRegistry {
private ConfigurableBeanFactory factory;
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/integration/activemq-spring-integration/src/main/java/org/apache/activemq/artemis/integration/spring/SpringJmsBootstrap.java
----------------------------------------------------------------------
diff --git a/integration/activemq-spring-integration/src/main/java/org/apache/activemq/artemis/integration/spring/SpringJmsBootstrap.java b/integration/activemq-spring-integration/src/main/java/org/apache/activemq/artemis/integration/spring/SpringJmsBootstrap.java
index a5e406f..3bbfc3d 100644
--- a/integration/activemq-spring-integration/src/main/java/org/apache/activemq/artemis/integration/spring/SpringJmsBootstrap.java
+++ b/integration/activemq-spring-integration/src/main/java/org/apache/activemq/artemis/integration/spring/SpringJmsBootstrap.java
@@ -22,11 +22,6 @@ import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.BeanFactoryAware;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
-/**
- * This really isn't needed for Spring integration as demonstrated by org.apache.activemq.artemis.tests.integration.spring.SpringIntegrationTest
- * as well as the "spring-integration" example
- */
-@Deprecated
public class SpringJmsBootstrap extends EmbeddedJMS implements BeanFactoryAware {
@Override
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/compatibility-tests/src/main/resources/addressConfig/artemisServer.groovy
----------------------------------------------------------------------
diff --git a/tests/compatibility-tests/src/main/resources/addressConfig/artemisServer.groovy b/tests/compatibility-tests/src/main/resources/addressConfig/artemisServer.groovy
index c739942..0f85332 100644
--- a/tests/compatibility-tests/src/main/resources/addressConfig/artemisServer.groovy
+++ b/tests/compatibility-tests/src/main/resources/addressConfig/artemisServer.groovy
@@ -41,7 +41,6 @@ configuration.addAddressesSetting("myQueue", new AddressSettings().setAddressFul
configuration.addAddressesSetting("#", new AddressSettings().setAddressFullMessagePolicy(AddressFullMessagePolicy.BLOCK).setMaxSizeBytes(10 * 1024).setPageSizeBytes(1024));
jmsConfiguration = new JMSConfigurationImpl();
-// used here even though it's deprecated to be compatible with older versions of the broker
server = new EmbeddedJMS();
server.setConfiguration(configuration);
server.setJmsConfiguration(jmsConfiguration);
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/compatibility-tests/src/main/resources/servers/artemisServer.groovy
----------------------------------------------------------------------
diff --git a/tests/compatibility-tests/src/main/resources/servers/artemisServer.groovy b/tests/compatibility-tests/src/main/resources/servers/artemisServer.groovy
index c8cc93b..fbae168 100644
--- a/tests/compatibility-tests/src/main/resources/servers/artemisServer.groovy
+++ b/tests/compatibility-tests/src/main/resources/servers/artemisServer.groovy
@@ -55,7 +55,6 @@ try {
jmsConfiguration = new JMSConfigurationImpl();
-// used here even though it's deprecated to be compatible with older versions of the broker
server = new EmbeddedJMS();
server.setConfiguration(configuration);
server.setJmsConfiguration(jmsConfiguration);
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/JMSBridgeReconnectionTest.java
----------------------------------------------------------------------
diff --git a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/JMSBridgeReconnectionTest.java b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/JMSBridgeReconnectionTest.java
index 1733431..03e2ddc 100644
--- a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/JMSBridgeReconnectionTest.java
+++ b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/byteman/JMSBridgeReconnectionTest.java
@@ -24,10 +24,10 @@ import org.apache.activemq.artemis.core.client.impl.ClientProducerCredits;
import org.apache.activemq.artemis.core.protocol.core.Packet;
import org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl;
import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.SessionSendMessage;
-import org.apache.activemq.artemis.core.server.ActiveMQServer;
import org.apache.activemq.artemis.jms.bridge.ConnectionFactoryFactory;
import org.apache.activemq.artemis.jms.bridge.QualityOfServiceMode;
import org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl;
+import org.apache.activemq.artemis.jms.server.JMSServerManager;
import org.apache.activemq.artemis.tests.extras.jms.bridge.BridgeTestBase;
import org.jboss.byteman.contrib.bmunit.BMRule;
import org.jboss.byteman.contrib.bmunit.BMRules;
@@ -52,7 +52,7 @@ public class JMSBridgeReconnectionTest extends BridgeTestBase {
targetLocation = "ENTRY",
action = "org.apache.activemq.artemis.tests.extras.byteman.JMSBridgeReconnectionTest.pause2($2,$3,$4);")})
public void performCrashDestinationStopBridge() throws Exception {
- activeMQServer = server1;
+ activeMQServer = jmsServer1;
ConnectionFactoryFactory factInUse0 = cff0;
ConnectionFactoryFactory factInUse1 = cff1;
final JMSBridgeImpl bridge = new JMSBridgeImpl(factInUse0, factInUse1, sourceQueueFactory, targetQueueFactory, null, null, null, null, null, 1000, -1, QualityOfServiceMode.DUPLICATES_OK, 10, -1, null, null, false).setBridgeName("test-bridge");
@@ -106,7 +106,7 @@ public class JMSBridgeReconnectionTest extends BridgeTestBase {
}
}
- static ActiveMQServer activeMQServer;
+ static JMSServerManager activeMQServer;
static boolean stopped = false;
static int count = 20;
static CountDownLatch stopLatch = new CountDownLatch(1);
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/BridgeTestBase.java
----------------------------------------------------------------------
diff --git a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/BridgeTestBase.java b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/BridgeTestBase.java
index 59ec018..c47d026 100644
--- a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/BridgeTestBase.java
+++ b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/BridgeTestBase.java
@@ -37,8 +37,6 @@ import java.util.Set;
import com.arjuna.ats.arjuna.coordinator.TransactionReaper;
import com.arjuna.ats.arjuna.coordinator.TxControl;
import com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple;
-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.management.AddressControl;
import org.apache.activemq.artemis.api.core.management.QueueControl;
@@ -46,6 +44,7 @@ import org.apache.activemq.artemis.api.core.management.ResourceNames;
import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient;
import org.apache.activemq.artemis.api.jms.JMSFactoryType;
import org.apache.activemq.artemis.core.config.Configuration;
+import org.apache.activemq.artemis.core.registry.JndiBindingRegistry;
import org.apache.activemq.artemis.core.remoting.impl.invm.TransportConstants;
import org.apache.activemq.artemis.core.server.ActiveMQServer;
import org.apache.activemq.artemis.core.server.ActiveMQServers;
@@ -54,11 +53,13 @@ import org.apache.activemq.artemis.jms.bridge.ConnectionFactoryFactory;
import org.apache.activemq.artemis.jms.bridge.DestinationFactory;
import org.apache.activemq.artemis.jms.bridge.QualityOfServiceMode;
import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
-import org.apache.activemq.artemis.jms.client.ActiveMQDestination;
import org.apache.activemq.artemis.jms.client.ActiveMQJMSConnectionFactory;
import org.apache.activemq.artemis.jms.client.ActiveMQMessage;
import org.apache.activemq.artemis.jms.client.ActiveMQXAConnectionFactory;
+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.unit.util.InVMNamingContext;
import org.apache.activemq.artemis.tests.util.ActiveMQTestBase;
import org.junit.After;
import org.junit.Assert;
@@ -87,8 +88,16 @@ public abstract class BridgeTestBase extends ActiveMQTestBase {
protected ActiveMQServer server0;
+ protected JMSServerManager jmsServer0;
+
protected ActiveMQServer server1;
+ protected JMSServerManager jmsServer1;
+
+ private InVMNamingContext context0;
+
+ protected InVMNamingContext context1;
+
protected HashMap<String, Object> params1;
protected ConnectionFactoryFactory cff0LowProducerWindow;
@@ -102,7 +111,11 @@ public abstract class BridgeTestBase extends ActiveMQTestBase {
Configuration conf0 = createBasicConfig().setJournalDirectory(getJournalDir(0, false)).setBindingsDirectory(getBindingsDir(0, false)).addAcceptorConfiguration(new TransportConfiguration(INVM_ACCEPTOR_FACTORY));
server0 = addServer(ActiveMQServers.newActiveMQServer(conf0, false));
- server0.start();
+
+ context0 = new InVMNamingContext();
+ jmsServer0 = new JMSServerManagerImpl(server0);
+ jmsServer0.setRegistry(new JndiBindingRegistry(context0));
+ jmsServer0.start();
params1 = new HashMap<>();
params1.put(TransportConstants.SERVER_ID_PROP_NAME, 1);
@@ -110,7 +123,20 @@ public abstract class BridgeTestBase extends ActiveMQTestBase {
Configuration conf1 = createBasicConfig().setJournalDirectory(getJournalDir(1, false)).setBindingsDirectory(getBindingsDir(1, false)).addAcceptorConfiguration(new TransportConfiguration(INVM_ACCEPTOR_FACTORY, params1));
server1 = addServer(ActiveMQServers.newActiveMQServer(conf1, false));
- server1.start();
+
+ context1 = new InVMNamingContext();
+
+ jmsServer1 = new JMSServerManagerImpl(server1);
+ jmsServer1.setRegistry(new JndiBindingRegistry(context1));
+ jmsServer1.start();
+
+ createQueue("sourceQueue", 0);
+
+ jmsServer0.createTopic(false, "sourceTopic", "/topic/sourceTopic");
+
+ createQueue("localTargetQueue", 0);
+
+ createQueue("targetQueue", 1);
setUpAdministeredObjects();
TxControl.enable();
@@ -121,11 +147,11 @@ public abstract class BridgeTestBase extends ActiveMQTestBase {
}
protected void createQueue(final String queueName, final int index) throws Exception {
- ActiveMQServer server = server0;
+ JMSServerManager server = jmsServer0;
if (index == 1) {
- server = server1;
+ server = jmsServer1;
}
- assertTrue("queue '/queue/" + queueName + "' created", server.createQueue(SimpleString.toSimpleString(queueName), RoutingType.ANYCAST, SimpleString.toSimpleString(queueName), null, true, false) != null);
+ assertTrue("queue '/queue/" + queueName + "' created", server.createQueue(false, queueName, null, true, "/queue/" + queueName));
}
@Override
@@ -144,8 +170,8 @@ public abstract class BridgeTestBase extends ActiveMQTestBase {
if (cff1 instanceof ActiveMQConnectionFactory) {
((ActiveMQConnectionFactory) cff1).close();
}
- stopComponent(server0);
- stopComponent(server1);
+ stopComponent(jmsServer0);
+ stopComponent(jmsServer1);
cff0 = cff1 = null;
cff0xa = cff1xa = null;
@@ -161,8 +187,18 @@ public abstract class BridgeTestBase extends ActiveMQTestBase {
server0 = null;
+ jmsServer0 = null;
+
server1 = null;
+ jmsServer1 = null;
+ if (context0 != null)
+ context0.close();
+ context0 = null;
+ if (context1 != null)
+ context1.close();
+ context1 = null;
+
// Shutting down Arjuna threads
TxControl.disable(true);
@@ -261,7 +297,7 @@ public abstract class BridgeTestBase extends ActiveMQTestBase {
sourceQueueFactory = new DestinationFactory() {
@Override
public Destination createDestination() throws Exception {
- return ActiveMQDestination.createDestination("/queue/sourceQueue", ActiveMQDestination.TYPE.QUEUE);
+ return (Destination) context0.lookup("/queue/sourceQueue");
}
};
@@ -270,7 +306,7 @@ public abstract class BridgeTestBase extends ActiveMQTestBase {
targetQueueFactory = new DestinationFactory() {
@Override
public Destination createDestination() throws Exception {
- return ActiveMQDestination.createDestination("/queue/targetQueue", ActiveMQDestination.TYPE.QUEUE);
+ return (Destination) context1.lookup("/queue/targetQueue");
}
};
@@ -279,7 +315,7 @@ public abstract class BridgeTestBase extends ActiveMQTestBase {
sourceTopicFactory = new DestinationFactory() {
@Override
public Destination createDestination() throws Exception {
- return ActiveMQDestination.createDestination("/topic/sourceTopic", ActiveMQDestination.TYPE.TOPIC);
+ return (Destination) context0.lookup("/topic/sourceTopic");
}
};
@@ -288,7 +324,7 @@ public abstract class BridgeTestBase extends ActiveMQTestBase {
localTargetQueueFactory = new DestinationFactory() {
@Override
public Destination createDestination() throws Exception {
- return ActiveMQDestination.createDestination("/queue/localTargetQueue", ActiveMQDestination.TYPE.QUEUE);
+ return (Destination) context0.lookup("/queue/localTargetQueue");
}
};
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/ClusteredBridgeTestBase.java
----------------------------------------------------------------------
diff --git a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/ClusteredBridgeTestBase.java b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/ClusteredBridgeTestBase.java
index 6fae34e..165601a 100644
--- a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/ClusteredBridgeTestBase.java
+++ b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/ClusteredBridgeTestBase.java
@@ -18,6 +18,7 @@ package org.apache.activemq.artemis.tests.extras.jms.bridge;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
+import javax.naming.Context;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -27,8 +28,6 @@ import java.util.concurrent.TimeUnit;
import com.arjuna.ats.arjuna.coordinator.TransactionReaper;
import com.arjuna.ats.arjuna.coordinator.TxControl;
import org.apache.activemq.artemis.api.core.ActiveMQException;
-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.ActiveMQClient;
import org.apache.activemq.artemis.api.core.client.ClientConsumer;
@@ -44,13 +43,16 @@ import org.apache.activemq.artemis.api.jms.JMSFactoryType;
import org.apache.activemq.artemis.core.config.Configuration;
import org.apache.activemq.artemis.core.config.ha.ReplicaPolicyConfiguration;
import org.apache.activemq.artemis.core.config.ha.ReplicatedPolicyConfiguration;
+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.ActiveMQServers;
import org.apache.activemq.artemis.jms.bridge.ConnectionFactoryFactory;
import org.apache.activemq.artemis.jms.bridge.DestinationFactory;
import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
-import org.apache.activemq.artemis.jms.client.ActiveMQDestination;
+import org.apache.activemq.artemis.jms.server.JMSServerManager;
+import org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl;
+import org.apache.activemq.artemis.tests.unit.util.InVMContext;
import org.apache.activemq.artemis.tests.util.ActiveMQTestBase;
import org.junit.After;
import org.junit.Before;
@@ -111,12 +113,14 @@ public abstract class ClusteredBridgeTestBase extends ActiveMQTestBase {
private String name;
private int id;
- private ActiveMQServer liveNode;
- private ActiveMQServer backupNode;
+ private JMSServerManager liveNode;
+ private JMSServerManager backupNode;
private TransportConfiguration liveConnector;
private TransportConfiguration backupConnector;
+ private Context liveContext;
+
private ServerLocator locator;
private ClientSessionFactory sessionFactory;
@@ -145,21 +149,30 @@ public abstract class ClusteredBridgeTestBase extends ActiveMQTestBase {
//live
Configuration conf0 = createBasicConfig().setJournalDirectory(getJournalDir(id, false)).setBindingsDirectory(getBindingsDir(id, false)).addAcceptorConfiguration(new TransportConfiguration(INVM_ACCEPTOR_FACTORY, params0)).addConnectorConfiguration(liveConnector.getName(), liveConnector).setHAPolicyConfiguration(new ReplicatedPolicyConfiguration()).addClusterConfiguration(basicClusterConnectionConfig(liveConnector.getName()));
- liveNode = addServer(ActiveMQServers.newActiveMQServer(conf0, true));
+ ActiveMQServer server0 = addServer(ActiveMQServers.newActiveMQServer(conf0, true));
+
+ liveContext = new InVMContext();
+ liveNode = new JMSServerManagerImpl(server0);
+ liveNode.setRegistry(new JndiBindingRegistry(liveContext));
//backup
ReplicaPolicyConfiguration replicaPolicyConfiguration = new ReplicaPolicyConfiguration();
replicaPolicyConfiguration.setQuorumVoteWait(QUORUM_VOTE_WAIT_TIME_SEC);
Configuration config = createBasicConfig().setJournalDirectory(getJournalDir(id, true)).setBindingsDirectory(getBindingsDir(id, true)).addAcceptorConfiguration(new TransportConfiguration(INVM_ACCEPTOR_FACTORY, params)).addConnectorConfiguration(backupConnector.getName(), backupConnector).addConnectorConfiguration(liveConnector.getName(), liveConnector).setHAPolicyConfiguration(replicaPolicyConfiguration).addClusterConfiguration(basicClusterConnectionConfig(backupConnector.getName(), liveConnector.getName()));
- backupNode = addServer(ActiveMQServers.newActiveMQServer(config, true));
+ ActiveMQServer backup = addServer(ActiveMQServers.newActiveMQServer(config, true));
+
+ Context context = new InVMContext();
+
+ backupNode = new JMSServerManagerImpl(backup);
+ backupNode.setRegistry(new JndiBindingRegistry(context));
}
public void start() throws Exception {
liveNode.start();
- waitForServerToStart(liveNode);
+ waitForServerToStart(liveNode.getActiveMQServer());
backupNode.start();
- waitForRemoteBackupSynchronization(backupNode);
+ waitForRemoteBackupSynchronization(backupNode.getActiveMQServer());
locator = ActiveMQClient.createServerLocatorWithHA(liveConnector).setReconnectAttempts(15);
sessionFactory = locator.createSessionFactory();
@@ -173,7 +186,7 @@ public abstract class ClusteredBridgeTestBase extends ActiveMQTestBase {
}
public void createQueue(String queueName) throws Exception {
- liveNode.createQueue(SimpleString.toSimpleString(queueName), RoutingType.ANYCAST, SimpleString.toSimpleString(queueName), null, true, false);
+ liveNode.createQueue(true, queueName, null, true, "/queue/" + queueName);
}
public ConnectionFactoryFactory getConnectionFactoryFactory() {
@@ -194,7 +207,7 @@ public abstract class ClusteredBridgeTestBase extends ActiveMQTestBase {
DestinationFactory destFactory = new DestinationFactory() {
@Override
public Destination createDestination() throws Exception {
- return ActiveMQDestination.createDestination(queueName, ActiveMQDestination.TYPE.QUEUE);
+ return (Destination) liveContext.lookup("/queue/" + queueName);
}
};
return destFactory;
@@ -248,7 +261,7 @@ public abstract class ClusteredBridgeTestBase extends ActiveMQTestBase {
}
});
- liveNode.stop();
+ liveNode.getActiveMQServer().stop();
boolean ok = latch.await(10000, TimeUnit.MILLISECONDS);
assertTrue(ok);
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/JMSBridgeReconnectionTest.java
----------------------------------------------------------------------
diff --git a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/JMSBridgeReconnectionTest.java b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/JMSBridgeReconnectionTest.java
index 4d101cc..7c1b878 100644
--- a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/JMSBridgeReconnectionTest.java
+++ b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/JMSBridgeReconnectionTest.java
@@ -105,7 +105,7 @@ public class JMSBridgeReconnectionTest extends BridgeTestBase {
@Test
public void testRetryConnectionOnStartup() throws Exception {
- server1.stop();
+ jmsServer1.stop();
JMSBridgeImpl bridge = new JMSBridgeImpl(cff0, cff1, sourceQueueFactory, targetQueueFactory, null, null, null, null, null, 1000, -1, QualityOfServiceMode.DUPLICATES_OK, 10, -1, null, null, false).setBridgeName("test-bridge");
bridge.setTransactionManager(newTransactionManager());
@@ -115,7 +115,7 @@ public class JMSBridgeReconnectionTest extends BridgeTestBase {
Assert.assertTrue(bridge.isFailed());
// Restart the server
- server1.start();
+ jmsServer1.start();
createQueue("targetQueue", 1);
setUpAdministeredObjects();
@@ -131,7 +131,7 @@ public class JMSBridgeReconnectionTest extends BridgeTestBase {
*/
@Test
public void testStopBridgeWithFailureWhenStarted() throws Exception {
- server1.stop();
+ jmsServer1.stop();
JMSBridgeImpl bridge = new JMSBridgeImpl(cff0, cff1, sourceQueueFactory, targetQueueFactory, null, null, null, null, null, 500, -1, QualityOfServiceMode.DUPLICATES_OK, 10, -1, null, null, false).setBridgeName("test-bridge");
bridge.setTransactionManager(newTransactionManager());
@@ -144,7 +144,7 @@ public class JMSBridgeReconnectionTest extends BridgeTestBase {
Assert.assertFalse(bridge.isStarted());
// we restart and setup the server for the test's tearDown checks
- server1.start();
+ jmsServer1.start();
createQueue("targetQueue", 1);
setUpAdministeredObjects();
}
@@ -187,7 +187,7 @@ public class JMSBridgeReconnectionTest extends BridgeTestBase {
JMSBridgeReconnectionTest.log.info("About to crash server");
- server1.stop();
+ jmsServer1.stop();
// Wait a while before starting up to simulate the dest being down for a while
JMSBridgeReconnectionTest.log.info("Waiting 5 secs before bringing server back up");
@@ -196,7 +196,7 @@ public class JMSBridgeReconnectionTest extends BridgeTestBase {
// Restart the server
JMSBridgeReconnectionTest.log.info("Restarting server");
- server1.start();
+ jmsServer1.start();
// jmsServer1.createQueue(false, "targetQueue", null, true, "queue/targetQueue");
@@ -212,7 +212,7 @@ public class JMSBridgeReconnectionTest extends BridgeTestBase {
JMSBridgeReconnectionTest.log.info("Sent messages");
- server1.stop();
+ jmsServer1.stop();
bridge.stop();
@@ -248,7 +248,7 @@ public class JMSBridgeReconnectionTest extends BridgeTestBase {
JMSBridgeReconnectionTest.log.info("About to crash server");
- server1.stop();
+ jmsServer1.stop();
// Wait a while before starting up to simulate the dest being down for a while
JMSBridgeReconnectionTest.log.info("Waiting 5 secs before bringing server back up");
@@ -303,10 +303,10 @@ public class JMSBridgeReconnectionTest extends BridgeTestBase {
JMSBridgeReconnectionTest.log.info("About to crash server");
- server1.stop();
+ jmsServer1.stop();
if (restart) {
- server1.start();
+ jmsServer1.start();
}
// Wait a while before starting up to simulate the dest being down for a while
JMSBridgeReconnectionTest.log.info("Waiting 5 secs before bringing server back up");
@@ -396,7 +396,7 @@ public class JMSBridgeReconnectionTest extends BridgeTestBase {
JMSBridgeReconnectionTest.log.info("About to crash server");
- server1.stop();
+ jmsServer1.stop();
// Wait a while before starting up to simulate the dest being down for a while
JMSBridgeReconnectionTest.log.info("Waiting 5 secs before bringing server back up");
@@ -404,7 +404,7 @@ public class JMSBridgeReconnectionTest extends BridgeTestBase {
JMSBridgeReconnectionTest.log.info("Done wait");
// Restart the server
- server1.start();
+ jmsServer1.start();
createQueue("targetQueue", 1);
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/JMSBridgeTest.java
----------------------------------------------------------------------
diff --git a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/JMSBridgeTest.java b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/JMSBridgeTest.java
index 6f4b9b6..fed218b 100644
--- a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/JMSBridgeTest.java
+++ b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/jms/bridge/JMSBridgeTest.java
@@ -336,7 +336,7 @@ public class JMSBridgeTest extends BridgeTestBase {
@Test
public void testStartBridgeFirst() throws Exception {
//stop the source server, we want to start the bridge first
- server0.stop();
+ jmsServer0.stop();
JMSBridgeImpl bridge = null;
ConnectionFactoryFactory factInUse0 = cff0;
@@ -349,8 +349,10 @@ public class JMSBridgeTest extends BridgeTestBase {
bridge.start();
//now start the server
- server0.start();
-
+ jmsServer0.start();
+ createQueue("sourceQueue", 0);
+ createQueue("localTargetQueue", 0);
+ jmsServer0.createTopic(false, "sourceTopic", "/topic/sourceTopic");
// Send half the messages
sendMessages(cf0, sourceQueue, 0, NUM_MESSAGES / 2, false, false);
@@ -1325,7 +1327,7 @@ public class JMSBridgeTest extends BridgeTestBase {
JMSBridgeTest.log.info("About to crash server");
- server1.stop();
+ jmsServer1.stop();
// Now stop the bridge while the failover is happening
@@ -1335,7 +1337,7 @@ public class JMSBridgeTest extends BridgeTestBase {
// Shutdown the source server
- server0.stop();
+ jmsServer0.stop();
}
// Private -------------------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/protocols/hornetq/HornetQProtocolManagerTest.java
----------------------------------------------------------------------
diff --git a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/protocols/hornetq/HornetQProtocolManagerTest.java b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/protocols/hornetq/HornetQProtocolManagerTest.java
index 6e7c79c..4c0c545 100644
--- a/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/protocols/hornetq/HornetQProtocolManagerTest.java
+++ b/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/protocols/hornetq/HornetQProtocolManagerTest.java
@@ -26,16 +26,20 @@ import javax.jms.TextMessage;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.activemq.artemis.api.core.Message;
-import org.apache.activemq.artemis.api.core.RoutingType;
import org.apache.activemq.artemis.api.core.client.ClientSession;
import org.apache.activemq.artemis.api.core.client.ClientSessionFactory;
import org.apache.activemq.artemis.api.core.client.ServerLocator;
-import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient;
-import org.apache.activemq.artemis.core.config.CoreQueueConfiguration;
+import org.apache.activemq.artemis.core.config.Configuration;
import org.apache.activemq.artemis.core.protocol.hornetq.client.HornetQClientProtocolManagerFactory;
import org.apache.activemq.artemis.core.server.ActiveMQServer;
import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
import org.apache.activemq.artemis.jms.client.ActiveMQQueue;
+import org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration;
+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.ra.recovery.RecoveryManager;
import org.apache.activemq.artemis.service.extensions.xa.recovery.XARecoveryConfig;
import org.apache.activemq.artemis.tests.util.ActiveMQTestBase;
@@ -49,21 +53,32 @@ import org.junit.Test;
public class HornetQProtocolManagerTest extends ActiveMQTestBase {
ActiveMQServer server;
+ EmbeddedJMS embeddedJMS;
@Override
@Before
public void setUp() throws Exception {
super.setUp();
- server = createServer(createDefaultConfig(false)
- .setPersistenceEnabled(false)
- .clearAcceptorConfigurations()
- .addAcceptorConfiguration("legacy", "tcp://localhost:61616?protocols=HORNETQ")
- .addAcceptorConfiguration("corepr", "tcp://localhost:61617?protocols=CORE")
- .addQueueConfiguration(new CoreQueueConfiguration()
- .setName("testQueue")
- .setAddress("testQueue")
- .setRoutingType(RoutingType.ANYCAST)));
- server.start();
+ Configuration configuration = createDefaultConfig(false);
+ configuration.setPersistenceEnabled(false);
+ configuration.getAcceptorConfigurations().clear();
+ configuration.addAcceptorConfiguration("legacy", "tcp://localhost:61616?protocols=HORNETQ").
+ addAcceptorConfiguration("corepr", "tcp://localhost:61617?protocols=CORE");
+
+ configuration.addConnectorConfiguration("legacy", "tcp://localhost:61616");
+ JMSConfiguration jmsConfiguration = new JMSConfigurationImpl();
+
+ jmsConfiguration.getQueueConfigurations().add(new JMSQueueConfigurationImpl().setName("testQueue").setBindings("testQueue"));
+ embeddedJMS = new EmbeddedJMS();
+ embeddedJMS.setConfiguration(configuration);
+ embeddedJMS.setJmsConfiguration(jmsConfiguration);
+ embeddedJMS.start();
+ }
+
+ @Override
+ public void tearDown() throws Exception {
+ embeddedJMS.stop();
+ super.tearDown();
}
@Test
@@ -90,10 +105,18 @@ public class HornetQProtocolManagerTest extends ActiveMQTestBase {
/** This test will use an ArtemisConnectionFactory with clientProtocolManager=*/
@Test
public void testLegacy2() throws Exception {
+
+ ConnectionFactoryConfiguration configuration = new ConnectionFactoryConfigurationImpl();
+ configuration.setConnectorNames("legacy");
+ configuration.setName("legacy");
+ configuration.setProtocolManagerFactoryStr(HornetQClientProtocolManagerFactory.class.getName());
+ embeddedJMS.getJMSServerManager().createConnectionFactory(false, configuration, "legacy");
+
// WORKAROUND: the 2.0.0 broker introduced addressing change and the 2.2.0 broker added compatibility for old
// client libraries relying on the legacy prefixes. The new client being used in this test needs prefix explicitly.
Queue queue = new ActiveMQQueue("jms.queue.testQueue");
- ActiveMQConnectionFactory connectionFactory = ActiveMQJMSClient.createConnectionFactory("tcp://localhost:61616?protocolManagerFactoryStr=" + HornetQClientProtocolManagerFactory.class.getName(), "legacy");
+
+ ActiveMQConnectionFactory connectionFactory = (ActiveMQConnectionFactory) embeddedJMS.lookup("legacy");
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = session.createProducer(queue);
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/FailureDeadlockTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/FailureDeadlockTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/FailureDeadlockTest.java
index d2ea515..4c6b646 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/FailureDeadlockTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/FailureDeadlockTest.java
@@ -26,11 +26,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.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.spi.core.protocol.RemotingConnection;
import org.apache.activemq.artemis.tests.integration.IntegrationTestLogger;
+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;
@@ -42,6 +45,8 @@ public class FailureDeadlockTest extends ActiveMQTestBase {
private ActiveMQServer server;
+ private JMSServerManagerImpl jmsServer;
+
private ActiveMQConnectionFactory cf1;
private ActiveMQConnectionFactory cf2;
@@ -51,7 +56,9 @@ public class FailureDeadlockTest extends ActiveMQTestBase {
public void setUp() throws Exception {
super.setUp();
server = createServer(false, createDefaultInVMConfig());
- server.start();
+ jmsServer = new JMSServerManagerImpl(server);
+ jmsServer.setRegistry(new JndiBindingRegistry(new NullInitialContext()));
+ jmsServer.start();
cf1 = ActiveMQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF, new TransportConfiguration(INVM_CONNECTOR_FACTORY));
cf2 = ActiveMQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF, new TransportConfiguration(INVM_CONNECTOR_FACTORY));
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/cf8f0cac/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/crossprotocol/AMQPToOpenwireTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/crossprotocol/AMQPToOpenwireTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/crossprotocol/AMQPToOpenwireTest.java
index 4dc2dfa..51c9038 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/crossprotocol/AMQPToOpenwireTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/crossprotocol/AMQPToOpenwireTest.java
@@ -32,11 +32,12 @@ import java.util.concurrent.TimeUnit;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.ActiveMQXAConnectionFactory;
-import org.apache.activemq.artemis.api.core.RoutingType;
import org.apache.activemq.artemis.api.core.SimpleString;
import org.apache.activemq.artemis.core.config.Configuration;
import org.apache.activemq.artemis.core.server.ActiveMQServer;
+import org.apache.activemq.artemis.api.core.RoutingType;
import org.apache.activemq.artemis.core.settings.impl.AddressSettings;
+import org.apache.activemq.artemis.jms.server.JMSServerManager;
import org.apache.activemq.artemis.tests.util.ActiveMQTestBase;
import org.apache.activemq.transport.amqp.client.AmqpClient;
import org.apache.activemq.transport.amqp.client.AmqpConnection;
@@ -56,6 +57,7 @@ public class AMQPToOpenwireTest extends ActiveMQTestBase {
public static final int OWPORT = 61616;
protected static final String urlString = "tcp://" + OWHOST + ":" + OWPORT + "?wireFormat.cacheEnabled=true";
+ JMSServerManager serverManager;
private ActiveMQServer server;
protected ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(urlString);
protected ActiveMQXAConnectionFactory xaFactory = new ActiveMQXAConnectionFactory(urlString);
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/FloodServerTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/FloodServerTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/FloodServerTest.java
index 9af59b5..79ed680 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/FloodServerTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/FloodServerTest.java
@@ -24,12 +24,21 @@ import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Session;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.activemq.artemis.api.core.TransportConfiguration;
+import org.apache.activemq.artemis.api.core.client.ActiveMQClient;
import org.apache.activemq.artemis.api.jms.ActiveMQJMSClient;
+import org.apache.activemq.artemis.api.jms.JMSFactoryType;
import org.apache.activemq.artemis.core.config.Configuration;
+import org.apache.activemq.artemis.core.registry.JndiBindingRegistry;
+import org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory;
import org.apache.activemq.artemis.core.server.ActiveMQServer;
import org.apache.activemq.artemis.core.server.ActiveMQServers;
+import org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl;
import org.apache.activemq.artemis.tests.integration.IntegrationTestLogger;
+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;
@@ -44,6 +53,10 @@ public class FloodServerTest extends ActiveMQTestBase {
private ActiveMQServer server;
+ private JMSServerManagerImpl serverManager;
+
+ private InVMNamingContext initialContext;
+
private final String topicName = "my-topic";
// Static --------------------------------------------------------
@@ -68,18 +81,39 @@ public class FloodServerTest extends ActiveMQTestBase {
Configuration config = createDefaultNettyConfig();
server = addServer(ActiveMQServers.newActiveMQServer(config, false));
server.start();
+
+ serverManager = new JMSServerManagerImpl(server);
+ initialContext = new InVMNamingContext();
+ serverManager.setRegistry(new JndiBindingRegistry(initialContext));
+ serverManager.start();
+ serverManager.activated();
+
+ serverManager.createTopic(false, topicName, topicName);
+ registerConnectionFactory();
}
// Private -------------------------------------------------------
// Inner classes -------------------------------------------------
+ private void registerConnectionFactory() throws Exception {
+ int retryInterval = 1000;
+ double retryIntervalMultiplier = 1.0;
+ int reconnectAttempts = -1;
+ long callTimeout = 30000;
+
+ List<TransportConfiguration> connectorConfigs = new ArrayList<>();
+ connectorConfigs.add(new TransportConfiguration(NettyConnectorFactory.class.getName()));
+
+ serverManager.createConnectionFactory("ManualReconnectionToSingleServerTest", false, JMSFactoryType.CF, registerConnectors(server, connectorConfigs), null, 1000, ActiveMQClient.DEFAULT_CONNECTION_TTL, callTimeout, ActiveMQClient.DEFAULT_CALL_FAILOVER_TIMEOUT, ActiveMQClient.DEFAULT_CACHE_LARGE_MESSAGE_CLIENT, ActiveMQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE, ActiveMQClient.DEFAULT_COMPRESS_LARGE_MESSAGES, ActiveMQClient.DEFAULT_CONSUMER_WINDOW_SIZE, ActiveMQClient.DEFAULT_CONSUMER_MAX_RATE, ActiveMQClient.DEFAULT_CONFIRMATION_WINDOW_SIZE, ActiveMQClient.DEFAULT_PRODUCER_WINDOW_SIZE, ActiveMQClient.DEFAULT_PRODUCER_MAX_RATE, false, false, false, ActiveMQClient.DEFAULT_AUTO_GROUP, false, ActiveMQClient.DEFAULT_CONNECTION_LOAD_BALANCING_POLICY_CLASS_NAME, ActiveMQClient.DEFAULT_ACK_BATCH_SIZE, ActiveMQClient.DEFAULT_ACK_BATCH_SIZE, ActiveMQClient.DEFAULT_USE_GLOBAL_POOLS, ActiveMQClient.DEFAULT_SCHEDULED_THREAD_POOL_MAX_SIZE, ActiveMQClient.DEFAULT_THREAD_POOL_MAX_SIZE, retryInterva
l, retryIntervalMultiplier, 1000, reconnectAttempts, ActiveMQClient.DEFAULT_FAILOVER_ON_INITIAL_CONNECTION, null, "/cf");
+ }
+
@Test
public void testFoo() {
}
public void _testFlood() throws Exception {
- ConnectionFactory cf = ActiveMQJMSClient.createConnectionFactory("tcp://127.0.0.1:61616?retryInterval=1000&retryIntervalMultiplier=1.0&reconnectAttempts=-1&callTimeout=30000&clientFailureCheckPeriod=1000&maxRetryInterval=1000&blockOnDurableSend=false&blockOnAcknowledge=false", "cf");
+ ConnectionFactory cf = (ConnectionFactory) initialContext.lookup("/cf");
final int numProducers = 20;
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/ManualReconnectionToSingleServerTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/ManualReconnectionToSingleServerTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/ManualReconnectionToSingleServerTest.java
index 87ef00c..9ed0d5b 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/ManualReconnectionToSingleServerTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/ManualReconnectionToSingleServerTest.java
@@ -28,18 +28,22 @@ import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.naming.Context;
-import javax.naming.InitialContext;
import java.util.ArrayList;
import java.util.Date;
-import java.util.Hashtable;
import java.util.concurrent.CountDownLatch;
import org.apache.activemq.artemis.api.core.TransportConfiguration;
-import org.apache.activemq.artemis.core.config.Configuration;
-import org.apache.activemq.artemis.core.config.CoreQueueConfiguration;
-import org.apache.activemq.artemis.core.config.impl.ConfigurationImpl;
+import org.apache.activemq.artemis.core.registry.JndiBindingRegistry;
import org.apache.activemq.artemis.core.server.ActiveMQServer;
+import org.apache.activemq.artemis.jms.server.JMSServerManager;
+import org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration;
+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.impl.JMSServerManagerImpl;
import org.apache.activemq.artemis.tests.integration.IntegrationTestLogger;
+import org.apache.activemq.artemis.tests.unit.util.InVMNamingContext;
import org.apache.activemq.artemis.tests.util.ActiveMQTestBase;
import org.junit.Assert;
import org.junit.Before;
@@ -60,7 +64,9 @@ public class ManualReconnectionToSingleServerTest extends ActiveMQTestBase {
private CountDownLatch reconnectionLatch;
private CountDownLatch allMessagesReceived;
- private Context context;
+ private JMSServerManager serverManager;
+
+ private InVMNamingContext context;
private static final String QUEUE_NAME = ManualReconnectionToSingleServerTest.class.getSimpleName() + ".queue";
@@ -84,7 +90,7 @@ public class ManualReconnectionToSingleServerTest extends ActiveMQTestBase {
public void testExceptionListener() throws Exception {
connect();
- ConnectionFactory cf = (ConnectionFactory) context.lookup("cf");
+ ConnectionFactory cf = (ConnectionFactory) context.lookup("/cf");
Destination dest = (Destination) context.lookup(QUEUE_NAME);
Connection conn = cf.createConnection();
Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -97,10 +103,10 @@ public class ManualReconnectionToSingleServerTest extends ActiveMQTestBase {
if (i == NUM / 2) {
conn.close();
- server.stop();
+ serverManager.stop();
Thread.sleep(5000);
- server.start();
- cf = (ConnectionFactory) context.lookup("cf");
+ serverManager.start();
+ cf = (ConnectionFactory) context.lookup("/cf");
dest = (Destination) context.lookup(QUEUE_NAME);
conn = cf.createConnection();
sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -133,22 +139,21 @@ public class ManualReconnectionToSingleServerTest extends ActiveMQTestBase {
public void setUp() throws Exception {
super.setUp();
- Hashtable<String, String> props = new Hashtable<>();
- props.put(Context.INITIAL_CONTEXT_FACTORY, org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory.class.getCanonicalName());
- props.put("queue." + QUEUE_NAME, QUEUE_NAME);
- props.put("connectionFactory.cf", "tcp://127.0.0.1:61616?retryInterval=1000&reconnectAttempts=-1");
-
- context = new InitialContext(props);
+ context = new InVMNamingContext();
server = createServer(false, createDefaultNettyConfig());
- Configuration configuration = new ConfigurationImpl();
+ JMSConfiguration configuration = new JMSConfigurationImpl();
+ serverManager = new JMSServerManagerImpl(server, configuration);
+ serverManager.setRegistry(new JndiBindingRegistry(context));
- configuration.getQueueConfigurations().add(new CoreQueueConfiguration().setName(QUEUE_NAME));
+ configuration.getQueueConfigurations().add(new JMSQueueConfigurationImpl().setName(QUEUE_NAME).setBindings(QUEUE_NAME));
ArrayList<TransportConfiguration> configs = new ArrayList<>();
configs.add(new TransportConfiguration(NETTY_CONNECTOR_FACTORY));
- server.start();
+ ConnectionFactoryConfiguration cfConfig = new ConnectionFactoryConfigurationImpl().setName("cf").setConnectorNames(registerConnectors(server, configs)).setBindings("/cf").setRetryInterval(1000).setReconnectAttempts(-1);
+ configuration.getConnectionFactoryConfigurations().add(cfConfig);
+ serverManager.start();
listener = new Listener();
@@ -193,7 +198,7 @@ public class ManualReconnectionToSingleServerTest extends ActiveMQTestBase {
while (true) {
try {
queue = (Queue) initialContext.lookup(QUEUE_NAME);
- cf = (ConnectionFactory) initialContext.lookup("cf");
+ cf = (ConnectionFactory) initialContext.lookup("/cf");
break;
} catch (Exception e) {
if (retries++ > retryLimit)