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 2022/07/13 19:44:32 UTC

[activemq-artemis] branch main updated (8a6ee31055 -> d3ed11da2a)

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

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


    from 8a6ee31055 NO-JIRA Adding a non failing test on TX send and mirror
     new 7ee820864b ARTEMIS-3894 - add conversion from string for list - allow core bridge static connector config via properties
     new d3ed11da2a ARTEMIS-3894 - resolve errorprone warn on vargs call

The 2 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:
 .../core/config/impl/ConfigurationImpl.java        | 13 ++++++++-
 .../core/config/impl/ConfigurationImplTest.java    | 33 ++++++++++++++++++++++
 2 files changed, 45 insertions(+), 1 deletion(-)


[activemq-artemis] 02/02: ARTEMIS-3894 - resolve errorprone warn on vargs call

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

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

commit d3ed11da2a45308038a3f1be8e0552bba4a23ecf
Author: Gary Tully <ga...@gmail.com>
AuthorDate: Wed Jul 13 16:08:05 2022 +0100

    ARTEMIS-3894 - resolve errorprone warn on vargs call
---
 .../org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java
index d43796cc05..3ff379ba7d 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java
@@ -2957,7 +2957,7 @@ public class ConfigurationImpl implements Configuration, Serializable {
 
                // create one and initialise with name
                try {
-                  Object instance = candidate.getParameterTypes()[candidate.getParameterCount() - 1].getDeclaredConstructor().newInstance(null);
+                  Object instance = candidate.getParameterTypes()[candidate.getParameterCount() - 1].getDeclaredConstructor().newInstance((java.lang.Object[])null);
                   beanUtilsBean.setProperty(instance, "name", name);
 
                   // this is always going to be a little hacky b/c our config is not natively property friendly


[activemq-artemis] 01/02: ARTEMIS-3894 - add conversion from string for list - allow core bridge static connector config via properties

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

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

commit 7ee820864b90b4b7cc6d7f59eb0443f5ac14c559
Author: Gary Tully <ga...@gmail.com>
AuthorDate: Wed Jul 13 14:24:37 2022 +0100

    ARTEMIS-3894 - add conversion from string for list - allow core bridge static connector config via properties
---
 .../core/config/impl/ConfigurationImpl.java        | 11 ++++++++
 .../core/config/impl/ConfigurationImplTest.java    | 33 ++++++++++++++++++++++
 2 files changed, 44 insertions(+)

diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java
index 4d85626b98..d43796cc05 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java
@@ -550,6 +550,17 @@ public class ConfigurationImpl implements Configuration, Serializable {
          }
       }, TransformerConfiguration.class);
 
+      beanUtils.getConvertUtils().register(new Converter() {
+         @Override
+         public <T> T convert(Class<T> type, Object value) {
+            List convertedValue = new ArrayList<String>();
+            for (String entry : value.toString().split(",")) {
+               convertedValue.add(entry);
+            }
+            return (T) convertedValue;
+         }
+      }, java.util.List.class);
+
       // support 25K or 25m etc like xml config
       beanUtils.getConvertUtils().register(new Converter() {
          @Override
diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImplTest.java b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImplTest.java
index c8763c8082..3fbc6b48ca 100644
--- a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImplTest.java
+++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImplTest.java
@@ -44,6 +44,7 @@ import org.apache.activemq.artemis.core.config.amqpBrokerConnectivity.AMQPMirror
 import org.apache.activemq.artemis.core.config.ha.LiveOnlyPolicyConfiguration;
 import org.apache.activemq.artemis.core.deployers.impl.FileConfigurationParser;
 import org.apache.activemq.artemis.core.security.Role;
+import org.apache.activemq.artemis.core.server.ComponentConfigurationRoutingType;
 import org.apache.activemq.artemis.core.server.JournalType;
 import org.apache.activemq.artemis.core.server.cluster.impl.MessageLoadBalancingType;
 import org.apache.activemq.artemis.core.server.plugin.impl.LoggingActiveMQServerPlugin;
@@ -630,6 +631,38 @@ public class ConfigurationImplTest extends ActiveMQTestBase {
       Assert.assertEquals("2", configuration.getConnectionRouters().get(0).getPolicyConfiguration().getProperties().get(ConsistentHashModuloPolicy.MODULO));
    }
 
+   @Test
+   public void testCoreBridgeConfiguration() throws Throwable {
+      ConfigurationImpl configuration = new ConfigurationImpl();
+
+      final String queueName = "q";
+      final String forwardingAddress = "fa";
+
+      Properties properties = new InsertionOrderedProperties();
+
+      properties.put("bridgeConfigurations.b1.queueName", queueName);
+      properties.put("bridgeConfigurations.b1.forwardingAddress", forwardingAddress);
+      properties.put("bridgeConfigurations.b1.confirmationWindowSize", "10");
+      properties.put("bridgeConfigurations.b1.routingType", "STRIP");  // enum
+      // this is a List<String> from comma sep value
+      properties.put("bridgeConfigurations.b1.staticConnectors", "a,b");
+      // flip b in place
+      properties.put("bridgeConfigurations.b1.staticConnectors[1]", "c");
+
+      configuration.parsePrefixedProperties(properties, null);
+
+      Assert.assertEquals(1, configuration.getBridgeConfigurations().size());
+      Assert.assertEquals(queueName, configuration.getBridgeConfigurations().get(0).getQueueName());
+
+      Assert.assertEquals(forwardingAddress, configuration.getBridgeConfigurations().get(0).getForwardingAddress());
+      Assert.assertEquals(10, configuration.getBridgeConfigurations().get(0).getConfirmationWindowSize());
+      Assert.assertEquals(2, configuration.getBridgeConfigurations().get(0).getStaticConnectors().size());
+      Assert.assertEquals("a", configuration.getBridgeConfigurations().get(0).getStaticConnectors().get(0));
+      Assert.assertEquals("c", configuration.getBridgeConfigurations().get(0).getStaticConnectors().get(1));
+
+      Assert.assertEquals(ComponentConfigurationRoutingType.STRIP, configuration.getBridgeConfigurations().get(0).getRoutingType());
+   }
+
    @Test
    public void testSetNestedPropertyOnCollections() throws Throwable {
       ConfigurationImpl configuration = new ConfigurationImpl();