activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From clebertsuco...@apache.org
Subject [3/5] activemq-artemis git commit: ARTEMIS-1320 allow URL for REST/broker connection
Date Mon, 07 Aug 2017 22:47:45 GMT
ARTEMIS-1320 allow URL for REST/broker connection


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

Branch: refs/heads/master
Commit: b6e48eb14c1b4228ca18e2c8fd9088852118ba49
Parents: 01b37de
Author: Justin Bertram <jbertram@apache.org>
Authored: Thu Aug 3 13:30:51 2017 -0500
Committer: Clebert Suconic <clebertsuconic@apache.org>
Committed: Mon Aug 7 18:47:33 2017 -0400

----------------------------------------------------------------------
 artemis-rest/pom.xml                              |  8 +++++---
 .../activemq/artemis/rest/ActiveMQRestLogger.java |  4 ++++
 .../artemis/rest/MessageServiceConfiguration.java | 14 ++++++++++++++
 .../artemis/rest/MessageServiceManager.java       | 16 +++++-----------
 docs/user-manual/en/rest.md                       | 18 +++++++++++++-----
 5 files changed, 41 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b6e48eb1/artemis-rest/pom.xml
----------------------------------------------------------------------
diff --git a/artemis-rest/pom.xml b/artemis-rest/pom.xml
index 745fca6..6bc615a 100644
--- a/artemis-rest/pom.xml
+++ b/artemis-rest/pom.xml
@@ -47,6 +47,10 @@
          <artifactId>jboss-logging</artifactId>
       </dependency>
       <dependency>
+         <groupId>org.jboss.logmanager</groupId>
+         <artifactId>jboss-logmanager</artifactId>
+      </dependency>
+      <dependency>
          <groupId>org.jboss.resteasy</groupId>
          <artifactId>resteasy-jaxrs</artifactId>
       </dependency>
@@ -111,9 +115,7 @@
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-surefire-plugin</artifactId>
             <configuration>
-               <argLine>
-                  -Djava.util.logging.config.file=${project.build.directory}/../../../distribution/activemq/src/main/resources/config/stand-alone/non-clustered/logging.properties
-               </argLine>
+               <argLine>${activemq-surefire-argline}</argLine>
                <skipTests>${skipRestTests}</skipTests>
                <!--includes>
                    <include>**/PushQueueConsumerTest.java</include>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b6e48eb1/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/ActiveMQRestLogger.java
----------------------------------------------------------------------
diff --git a/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/ActiveMQRestLogger.java
b/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/ActiveMQRestLogger.java
index dbca778..deb796a 100644
--- a/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/ActiveMQRestLogger.java
+++ b/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/ActiveMQRestLogger.java
@@ -72,6 +72,10 @@ public interface ActiveMQRestLogger extends BasicLogger {
    @Message(id = 182003, value = "Failed to build Message from object", format = Message.Format.MESSAGE_FORMAT)
    void failedToBuildMessageFromObject(@Cause Exception e);
 
+   @LogMessage(level = Logger.Level.WARN)
+   @Message(id = 182004, value = "REST configuration parameter ''{0}'' is deprecated. Use
''{1}'' instead.", format = Message.Format.MESSAGE_FORMAT)
+   void deprecatedConfiguration(String oldConfigParameter, String newConfigParameter);
+
    @LogMessage(level = Logger.Level.ERROR)
    @Message(id = 184000, value = "Failed to load push store {0}, it is probably corrupted",
format = Message.Format.MESSAGE_FORMAT)
    void errorLoadingStore(@Cause Exception e, String name);

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b6e48eb1/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/MessageServiceConfiguration.java
----------------------------------------------------------------------
diff --git a/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/MessageServiceConfiguration.java
b/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/MessageServiceConfiguration.java
index 177a7f6..4c9dd06 100644
--- a/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/MessageServiceConfiguration.java
+++ b/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/MessageServiceConfiguration.java
@@ -26,12 +26,15 @@ public class MessageServiceConfiguration {
    private long producerTimeToLive = -1;
    private int timeoutTaskInterval = 1;
    private int consumerSessionTimeoutSeconds = 300;
+   @Deprecated
    private int consumerWindowSize = -1;
    private boolean defaultDurableSend = false;
    private boolean dupsOk = true;
    private String topicPushStoreDirectory = "topic-push-store";
    private String queuePushStoreDirectory = "queue-push-store";
+   @Deprecated
    private String inVmId = "0";
+   private String url = "vm://0";
    private boolean useLinkHeaders = false;
 
    private String deserializationWhiteList;
@@ -43,6 +46,7 @@ public class MessageServiceConfiguration {
    }
 
    public void setInVmId(String inVmId) {
+      ActiveMQRestLogger.LOGGER.deprecatedConfiguration("server-in-vm-id", "url");
       this.inVmId = inVmId;
    }
 
@@ -133,9 +137,19 @@ public class MessageServiceConfiguration {
    }
 
    public void setConsumerWindowSize(int consumerWindowSize) {
+      ActiveMQRestLogger.LOGGER.deprecatedConfiguration("consumer-window-size", "url");
       this.consumerWindowSize = consumerWindowSize;
    }
 
+   @XmlElement(name = "url")
+   public String getUrl() {
+      return url;
+   }
+
+   public void setUrl(String url) {
+      this.url = url;
+   }
+
    public String getDeserializationWhiteList() {
       return deserializationWhiteList;
    }

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b6e48eb1/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/MessageServiceManager.java
----------------------------------------------------------------------
diff --git a/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/MessageServiceManager.java
b/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/MessageServiceManager.java
index ef255bf..60b8849 100644
--- a/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/MessageServiceManager.java
+++ b/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/MessageServiceManager.java
@@ -21,17 +21,13 @@ import java.io.InputStreamReader;
 import java.io.Reader;
 import java.io.StringReader;
 import java.net.URL;
-import java.util.HashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 
-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.ClientSessionFactory;
 import org.apache.activemq.artemis.api.core.client.ServerLocator;
-import org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl;
-import org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnectorFactory;
-import org.apache.activemq.artemis.core.remoting.impl.invm.TransportConstants;
 import org.apache.activemq.artemis.jms.client.ConnectionFactoryOptions;
 import org.apache.activemq.artemis.rest.queue.DestinationSettings;
 import org.apache.activemq.artemis.rest.queue.QueueServiceManager;
@@ -143,20 +139,18 @@ public class MessageServiceManager {
       defaultSettings.setDuplicatesAllowed(configuration.isDupsOk());
       defaultSettings.setDurableSend(configuration.isDefaultDurableSend());
 
-      HashMap<String, Object> transportConfig = new HashMap<>();
-      transportConfig.put(TransportConstants.SERVER_ID_PROP_NAME, configuration.getInVmId());
-
-      ServerLocator consumerLocator = new ServerLocatorImpl(false, new TransportConfiguration(InVMConnectorFactory.class.getName(),
transportConfig));
-      ActiveMQRestLogger.LOGGER.debug("Created ServerLocator: " + consumerLocator);
+      ServerLocator consumerLocator = ActiveMQClient.createServerLocator(configuration.getUrl());
 
       if (configuration.getConsumerWindowSize() != -1) {
          consumerLocator.setConsumerWindowSize(configuration.getConsumerWindowSize());
       }
 
+      ActiveMQRestLogger.LOGGER.debug("Created ServerLocator: " + consumerLocator);
+
       consumerSessionFactory = consumerLocator.createSessionFactory();
       ActiveMQRestLogger.LOGGER.debug("Created ClientSessionFactory: " + consumerSessionFactory);
 
-      ServerLocator defaultLocator = new ServerLocatorImpl(false, new TransportConfiguration(InVMConnectorFactory.class.getName(),
transportConfig));
+      ServerLocator defaultLocator = ActiveMQClient.createServerLocator(configuration.getUrl());
 
       ClientSessionFactory sessionFactory = defaultLocator.createSessionFactory();
 

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b6e48eb1/docs/user-manual/en/rest.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/rest.md b/docs/user-manual/en/rest.md
index e1766cd..67d3631 100644
--- a/docs/user-manual/en/rest.md
+++ b/docs/user-manual/en/rest.md
@@ -208,7 +208,7 @@ file. Below is the format of the XML configuration file and the default
 values for each.
 
     <rest-messaging>
-       <server-in-vm-id>0</server-in-vm-id>
+       <server-in-vm-id>0</server-in-vm-id> <!-- deprecated, use "url" -->
        <use-link-headers>false</use-link-headers>
        <default-durable-send>false</default-durable-send>
        <dups-ok>true</dups-ok>
@@ -218,14 +218,17 @@ values for each.
        <producer-session-pool-size>10</producer-session-pool-size>
        <session-timeout-task-interval>1</session-timeout-task-interval>
        <consumer-session-timeout-seconds>300</consumer-session-timeout-seconds>
-       <consumer-window-size>-1</consumer-window-size>
+       <consumer-window-size>-1</consumer-window-size> <!-- deprecated, use
"url" -->
+       <url>vm://0</url>
     </rest-messaging>
 
 Let's give an explanation of each config option.
 
--   `server-in-vm-id`. The Apache ActiveMQ Artemis REST impl uses the IN-VM transport
-    to communicate with Apache ActiveMQ Artemis. It uses the default server id, which
-    is "0".
+-   `server-in-vm-id`. The Apache ActiveMQ Artemis REST implementation was formerly hard-coded
+    to use the in-vm transport to communicate with the embedded Apache ActiveMQ Artemis instance.
+    This is the id of the embedded instance. It is "0" by default. Note: this is deprecated
in
+    favor of `url` which can be used to connect to an arbitrary instance of Apache ActiveMQ
+    Artemis (including one over the network).
 
 -   `use-link-headers`. By default, all links (URLs) are published using
     custom headers. You can instead have the Apache ActiveMQ Artemis REST
@@ -265,6 +268,11 @@ Let's give an explanation of each config option.
 -   `consumer-window-size`. For consumers, this config option is the
     same as the Apache ActiveMQ Artemis one of the same name. It will be used by
     sessions created by the Apache ActiveMQ Artemis REST implementation.
+    This is deprecated in favor of `url` as it can be specified as a URL
+    parameter.
+
+-   `url`. The URL the Apache ActiveMQ Artemis REST implementation should use
+    to connect to the Apache ActiveMQ Artemis instance. Default to "vm://0".
 
 ## Apache ActiveMQ Artemis REST Interface Basics
 


Mime
View raw message