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/09/12 14:19:23 UTC

activemq-artemis git commit: ARTEMIS-2074 URI not transposing ServerLocator on ConnectionFactory

Repository: activemq-artemis
Updated Branches:
  refs/heads/2.6.x 74317ef9c -> 1ff80a86a


ARTEMIS-2074 URI not transposing ServerLocator on ConnectionFactory

This closes #2286
As it superceedes it

(cherry picked from commit d2d9a0e63471690a9851af1d9574fc4fc8d8bfa8)


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/1ff80a86
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/1ff80a86
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/1ff80a86

Branch: refs/heads/2.6.x
Commit: 1ff80a86a4af8382b58c69a73f4f8365ca917c91
Parents: 74317ef
Author: Clebert Suconic <cl...@apache.org>
Authored: Tue Sep 4 15:15:06 2018 -0400
Committer: Clebert Suconic <cl...@apache.org>
Committed: Wed Sep 12 10:19:16 2018 -0400

----------------------------------------------------------------------
 .../artemis/jms/client/ActiveMQConnectionFactory.java    |  8 ++++++++
 .../apache/activemq/artemis/uri/AbstractCFSchema.java    |  9 +++++++++
 .../java/org/apache/activemq/artemis/uri/InVMSchema.java |  4 +++-
 .../org/apache/activemq/artemis/uri/JGroupsSchema.java   |  2 +-
 .../java/org/apache/activemq/artemis/uri/TCPSchema.java  |  2 +-
 .../java/org/apache/activemq/artemis/uri/UDPSchema.java  |  2 +-
 .../tests/integration/jms/SimpleJNDIClientTest.java      | 11 +++++++++++
 7 files changed, 34 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/1ff80a86/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQConnectionFactory.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQConnectionFactory.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQConnectionFactory.java
index a0d036c..df4611e 100644
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQConnectionFactory.java
+++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQConnectionFactory.java
@@ -67,6 +67,14 @@ public class ActiveMQConnectionFactory extends JNDIStorable implements Connectio
 
    private static final long serialVersionUID = 6730844785641767519L;
 
+   public ServerLocator setUseTopologyForLoadBalancing(boolean useTopologyForLoadBalancing) {
+      return serverLocator.setUseTopologyForLoadBalancing(useTopologyForLoadBalancing);
+   }
+
+   public boolean getUseTopologyForLoadBalancing() {
+      return serverLocator.getUseTopologyForLoadBalancing();
+   }
+
    private ServerLocator serverLocator;
 
    private String clientID;

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/1ff80a86/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/AbstractCFSchema.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/AbstractCFSchema.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/AbstractCFSchema.java
index 9b407db..54bd574 100644
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/AbstractCFSchema.java
+++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/AbstractCFSchema.java
@@ -36,4 +36,13 @@ public abstract class AbstractCFSchema extends URISchema<ActiveMQConnectionFacto
       return BeanSupport.setData(uri, new JMSConnectionOptions(), query);
    }
 
+
+   protected ActiveMQConnectionFactory setData(URI uri,
+                                               Map<String, String> query,
+                                               ActiveMQConnectionFactory factory) throws Exception {
+      BeanSupport.setData(uri, factory.getServerLocator(), query);
+      return BeanSupport.setData(uri, factory, query);
+   }
+
+
 }

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/1ff80a86/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/InVMSchema.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/InVMSchema.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/InVMSchema.java
index 73e826a..15a5ce2 100644
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/InVMSchema.java
+++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/InVMSchema.java
@@ -39,7 +39,9 @@ public class InVMSchema extends AbstractCFSchema {
                                                          String name) throws Exception {
       JMSConnectionOptions options = newConectionOptions(uri, query);
       ActiveMQConnectionFactory factory = ActiveMQJMSClient.createConnectionFactoryWithoutHA(options.getFactoryTypeEnum(), InVMTransportConfigurationSchema.createTransportConfiguration(uri, query, name, "org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnectorFactory"));
-      return BeanSupport.setData(uri, factory, query);
+      BeanSupport.setData(uri, factory, query);
+      BeanSupport.setData(uri, factory.getServerLocator(), query);
+      return factory;
    }
 
    @Override

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/1ff80a86/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/JGroupsSchema.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/JGroupsSchema.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/JGroupsSchema.java
index 2d82018..653d6e1 100644
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/JGroupsSchema.java
+++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/JGroupsSchema.java
@@ -52,7 +52,7 @@ public class JGroupsSchema extends AbstractCFSchema {
       } else {
          factory = ActiveMQJMSClient.createConnectionFactoryWithoutHA(dcConfig, options.getFactoryTypeEnum());
       }
-      return BeanSupport.setData(uri, factory, query);
+      return setData(uri, query, factory);
    }
 
    @Override

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/1ff80a86/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/TCPSchema.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/TCPSchema.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/TCPSchema.java
index 8ea3cfc..eddff33 100644
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/TCPSchema.java
+++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/TCPSchema.java
@@ -57,7 +57,7 @@ public class TCPSchema extends AbstractCFSchema {
          factory = ActiveMQJMSClient.createConnectionFactoryWithoutHA(options.getFactoryTypeEnum(), tcs);
       }
 
-      return BeanSupport.setData(uri, factory, query);
+      return setData(uri, query, factory);
    }
 
    @Override

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/1ff80a86/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/UDPSchema.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/UDPSchema.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/UDPSchema.java
index 45f7ebf..cb4e217 100644
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/UDPSchema.java
+++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/uri/UDPSchema.java
@@ -49,7 +49,7 @@ public class UDPSchema extends AbstractCFSchema {
       } else {
          factory = ActiveMQJMSClient.createConnectionFactoryWithoutHA(dgc, options.getFactoryTypeEnum());
       }
-      return BeanSupport.setData(uri, factory, query);
+      return setData(uri, query, factory);
    }
 
    @Override

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/1ff80a86/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/SimpleJNDIClientTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/SimpleJNDIClientTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/SimpleJNDIClientTest.java
index 2acdb0b..a18248e 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/SimpleJNDIClientTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/SimpleJNDIClientTest.java
@@ -719,4 +719,15 @@ public class SimpleJNDIClientTest extends ActiveMQTestBase {
 
       connection.close();
    }
+
+   @Test
+   public void testUseTopologyForLoadBalancing() throws Exception {
+      Hashtable<String, String> props = new Hashtable<>();
+      props.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory");
+      props.put("connectionFactory.ConnectionFactory", "vm://0?useTopologyForLoadBalancing=false");
+      Context ctx = new InitialContext(props);
+
+      ConnectionFactory connectionFactory = (ConnectionFactory) ctx.lookup("ConnectionFactory");
+      assertFalse(((ActiveMQConnectionFactory)connectionFactory).getServerLocator().getUseTopologyForLoadBalancing());
+   }
 }
\ No newline at end of file