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 2019/06/26 19:23:12 UTC

[activemq-artemis] branch master updated (824b732 -> 2eecc15)

This is an automated email from the ASF dual-hosted git repository.

clebertsuconic pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git.


    from 824b732  This closes #2677
     new 741fd43  ARTEMIS-2403 Consumer command, clientID is ignored on CLI during retry connection with stdin input
     new 705f1db  ARTEMIS-2403 Adding test with clientID on retry after exceptions
     new 2eecc15  This closes #2734

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../artemis/cli/commands/InputAbstract.java        |  6 +-
 .../cli/commands/messages/ConnectionAbstract.java  | 64 ++++++++++++++++++++--
 .../artemis/cli/commands/queue/StatQueue.java      |  8 ---
 .../activemq/cli/test/RetryCLIClientIDTest.java    | 64 ++++++++++++++++++++++
 4 files changed, 127 insertions(+), 15 deletions(-)
 create mode 100644 artemis-cli/src/test/java/org/apache/activemq/cli/test/RetryCLIClientIDTest.java


[activemq-artemis] 01/03: ARTEMIS-2403 Consumer command, clientID is ignored on CLI during retry connection with stdin input

Posted by cl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

clebertsuconic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git

commit 741fd433c0b729f5beb69fae1c55649e3dfe8e52
Author: Shailendra Kumar Singh <sh...@gmail.com>
AuthorDate: Wed Jun 26 12:37:30 2019 +0530

    ARTEMIS-2403 Consumer command, clientID is ignored on CLI during retry connection with stdin input
---
 .../cli/commands/messages/ConnectionAbstract.java  | 24 ++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/ConnectionAbstract.java b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/ConnectionAbstract.java
index 90882e6..a4a1f1e 100644
--- a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/ConnectionAbstract.java
+++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/ConnectionAbstract.java
@@ -72,13 +72,21 @@ public class ConnectionAbstract extends InputAbstract {
          // if a security exception will get the user and password through an input
          context.err.println("Connection failed::" + e.getMessage());
          userPassword();
-         return new JmsConnectionFactory(user, password, brokerURL);
+         cf = new JmsConnectionFactory(user, password, brokerURL);
+         if (clientID != null) {
+            cf.setClientID(clientID);
+         }
+         return cf;
       } catch (JMSException e) {
          // if a connection exception will ask for the URL, user and password
          context.err.println("Connection failed::" + e.getMessage());
          brokerURL = input("--url", "Type in the broker URL for a retry (e.g. tcp://localhost:61616)", brokerURL);
          userPassword();
-         return new JmsConnectionFactory(user, password, brokerURL);
+         cf = new JmsConnectionFactory(user, password, brokerURL);
+         if (clientID != null) {
+            cf.setClientID(clientID);
+         }
+         return cf;
       }
    }
 
@@ -97,13 +105,21 @@ public class ConnectionAbstract extends InputAbstract {
          // if a security exception will get the user and password through an input
          context.err.println("Connection failed::" + e.getMessage());
          userPassword();
-         return new ActiveMQConnectionFactory(brokerURL, user, password);
+         cf = new ActiveMQConnectionFactory(brokerURL, user, password);
+         if (clientID != null) {
+            cf.setClientID(clientID);
+         }
+         return cf;
       } catch (JMSException e) {
          // if a connection exception will ask for the URL, user and password
          context.err.println("Connection failed::" + e.getMessage());
          brokerURL = input("--url", "Type in the broker URL for a retry (e.g. tcp://localhost:61616)", brokerURL);
          userPassword();
-         return new ActiveMQConnectionFactory(brokerURL, user, password);
+         cf = new ActiveMQConnectionFactory(brokerURL, user, password);
+         if (clientID != null) {
+            cf.setClientID(clientID);
+         }
+         return cf;
       }
    }
 


[activemq-artemis] 02/03: ARTEMIS-2403 Adding test with clientID on retry after exceptions

Posted by cl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

clebertsuconic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git

commit 705f1db17b7fd198bf5bdf48a181cd173ce7334d
Author: Clebert Suconic <cl...@apache.org>
AuthorDate: Wed Jun 26 15:22:23 2019 -0400

    ARTEMIS-2403 Adding test with clientID on retry after exceptions
---
 .../artemis/cli/commands/InputAbstract.java        |  6 +-
 .../cli/commands/messages/ConnectionAbstract.java  | 40 +++++++++++++-
 .../artemis/cli/commands/queue/StatQueue.java      |  8 ---
 .../activemq/cli/test/RetryCLIClientIDTest.java    | 64 ++++++++++++++++++++++
 4 files changed, 107 insertions(+), 11 deletions(-)

diff --git a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/InputAbstract.java b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/InputAbstract.java
index cadb702..05a6035 100644
--- a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/InputAbstract.java
+++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/InputAbstract.java
@@ -37,10 +37,14 @@ public class InputAbstract extends ActionAbstract {
    @Option(name = "--silent", description = "It will disable all the inputs, and it would make a best guess for any required input")
    private boolean silentInput = false;
 
-   private boolean isSilentInput() {
+   public boolean isSilentInput() {
       return silentInput || !inputEnabled;
    }
 
+   public void setSilentInput(boolean isSilent) {
+      this.silentInput = isSilent;
+   }
+
    protected boolean inputBoolean(String propertyName, String prompt, boolean silentDefault) {
       if (isSilentInput()) {
          return silentDefault;
diff --git a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/ConnectionAbstract.java b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/ConnectionAbstract.java
index a4a1f1e..c170259 100644
--- a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/ConnectionAbstract.java
+++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/ConnectionAbstract.java
@@ -44,6 +44,38 @@ public class ConnectionAbstract extends InputAbstract {
    @Option(name = "--protocol", description = "Protocol used. Valid values are amqp or core. Default=core.")
    String protocol = "core";
 
+   public String getUser() {
+      return user;
+   }
+
+   public void setUser(String user) {
+      this.user = user;
+   }
+
+   public String getPassword() {
+      return password;
+   }
+
+   public void setPassword(String password) {
+      this.password = password;
+   }
+
+   public String getClientID() {
+      return clientID;
+   }
+
+   public void setClientID(String clientID) {
+      this.clientID = clientID;
+   }
+
+   public String getProtocol() {
+      return protocol;
+   }
+
+   public void setProtocol(String protocol) {
+      this.protocol = protocol;
+   }
+
    protected ConnectionFactory createConnectionFactory() throws Exception {
       if (protocol.equals("core")) {
          return createCoreConnectionFactory();
@@ -103,7 +135,9 @@ public class ConnectionAbstract extends InputAbstract {
          return cf;
       } catch (JMSSecurityException e) {
          // if a security exception will get the user and password through an input
-         context.err.println("Connection failed::" + e.getMessage());
+         if (context != null) {
+            context.err.println("Connection failed::" + e.getMessage());
+         }
          userPassword();
          cf = new ActiveMQConnectionFactory(brokerURL, user, password);
          if (clientID != null) {
@@ -112,7 +146,9 @@ public class ConnectionAbstract extends InputAbstract {
          return cf;
       } catch (JMSException e) {
          // if a connection exception will ask for the URL, user and password
-         context.err.println("Connection failed::" + e.getMessage());
+         if (context != null) {
+            context.err.println("Connection failed::" + e.getMessage());
+         }
          brokerURL = input("--url", "Type in the broker URL for a retry (e.g. tcp://localhost:61616)", brokerURL);
          userPassword();
          cf = new ActiveMQConnectionFactory(brokerURL, user, password);
diff --git a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/StatQueue.java b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/StatQueue.java
index 9f3e856..2d74fc4 100644
--- a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/StatQueue.java
+++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/StatQueue.java
@@ -90,14 +90,6 @@ public class StatQueue extends AbstractAction {
       this.maxRows = maxRows;
    }
 
-   public void setUser(String user) {
-      this.user = user;
-   }
-
-   public void setPassword(String password) {
-      this.password = password;
-   }
-
    public void setverbose(boolean verbose) {
       this.verbose = verbose;
    }
diff --git a/artemis-cli/src/test/java/org/apache/activemq/cli/test/RetryCLIClientIDTest.java b/artemis-cli/src/test/java/org/apache/activemq/cli/test/RetryCLIClientIDTest.java
new file mode 100644
index 0000000..5043b93
--- /dev/null
+++ b/artemis-cli/src/test/java/org/apache/activemq/cli/test/RetryCLIClientIDTest.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.activemq.cli.test;
+
+import java.io.File;
+
+import org.apache.activemq.artemis.api.core.Pair;
+import org.apache.activemq.artemis.api.core.management.ActiveMQServerControl;
+import org.apache.activemq.artemis.cli.Artemis;
+import org.apache.activemq.artemis.cli.commands.Run;
+import org.apache.activemq.artemis.cli.commands.messages.ConnectionAbstract;
+import org.apache.activemq.artemis.core.server.ActiveMQServer;
+import org.apache.activemq.artemis.core.server.management.ManagementContext;
+import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class RetryCLIClientIDTest extends CliTestBase {
+
+   @Test
+   public void testWrongUserAndPass() throws Exception {
+      try {
+         Run.setEmbedded(true);
+         File instance1 = new File(temporaryFolder.getRoot(), "instance_user");
+         System.setProperty("java.security.auth.login.config", instance1.getAbsolutePath() + "/etc/login.config");
+         Artemis.main("create", instance1.getAbsolutePath(), "--silent", "--no-autotune", "--no-web", "--no-amqp-acceptor", "--no-mqtt-acceptor", "--no-stomp-acceptor", "--no-hornetq-acceptor", "--user", "dumb", "--password", "dumber", "--require-login");
+         System.setProperty("artemis.instance", instance1.getAbsolutePath());
+         Object result = Artemis.internalExecute("run");
+         ActiveMQServer activeMQServer = ((Pair<ManagementContext, ActiveMQServer>) result).getB();
+         ActiveMQServerControl activeMQServerControl = activeMQServer.getActiveMQServerControl();
+
+         ConnectionTest test = new ConnectionTest();
+         test.setSilentInput(true);
+         test.setClientID("someClientID");
+         ActiveMQConnectionFactory cf = test.newCF();
+         Assert.assertEquals("someClientID", cf.getClientID());
+
+      } finally {
+         stopServer();
+      }
+   }
+
+   private class ConnectionTest extends ConnectionAbstract {
+
+      public ActiveMQConnectionFactory newCF() {
+         return createCoreConnectionFactory();
+      }
+   }
+}


[activemq-artemis] 03/03: This closes #2734

Posted by cl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

clebertsuconic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git

commit 2eecc15a3d37898b269f223aa202b01537c94b82
Merge: 824b732 705f1db
Author: Clebert Suconic <cl...@apache.org>
AuthorDate: Wed Jun 26 15:23:04 2019 -0400

    This closes #2734

 .../artemis/cli/commands/InputAbstract.java        |  6 +-
 .../cli/commands/messages/ConnectionAbstract.java  | 64 ++++++++++++++++++++--
 .../artemis/cli/commands/queue/StatQueue.java      |  8 ---
 .../activemq/cli/test/RetryCLIClientIDTest.java    | 64 ++++++++++++++++++++++
 4 files changed, 127 insertions(+), 15 deletions(-)