You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2019/12/11 09:49:19 UTC

[camel] branch master updated: CAMEL-14284: Configuring endpoint should set properties on endpoint and not configuration object - milo component

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new eba5ee8  CAMEL-14284: Configuring endpoint should set properties on endpoint and not configuration object - milo component
eba5ee8 is described below

commit eba5ee8a575c6322db730b99654382e468123721
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Dec 11 10:48:53 2019 +0100

    CAMEL-14284: Configuring endpoint should set properties on endpoint and not configuration object - milo component
---
 .../component/milo/client/MiloClientComponent.java   | 20 +++++++-------------
 .../component/milo/client/MiloClientEndpoint.java    | 20 +++++++++++++-------
 .../component/milo/server/MiloServerEndpoint.java    |  4 +++-
 3 files changed, 23 insertions(+), 21 deletions(-)

diff --git a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientComponent.java b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientComponent.java
index c6803eb..82bc05e 100644
--- a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientComponent.java
+++ b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientComponent.java
@@ -35,35 +35,29 @@ public class MiloClientComponent extends DefaultComponent {
 
     @Override
     protected Endpoint createEndpoint(final String uri, final String remaining, final Map<String, Object> parameters) throws Exception {
-
         final MiloClientConfiguration configuration = new MiloClientConfiguration(this.defaultConfiguration);
         configuration.setEndpointUri(remaining);
-        setProperties(configuration, parameters);
 
-        return createEndpoint(uri, configuration, parameters);
+        Endpoint endpoint = doCreateEndpoint(uri, configuration, parameters);
+        return endpoint;
     }
 
-    private synchronized MiloClientEndpoint createEndpoint(final String uri, final MiloClientConfiguration configuration, final Map<String, Object> parameters) throws Exception {
+    private synchronized MiloClientEndpoint doCreateEndpoint(final String uri, final MiloClientConfiguration configuration, final Map<String, Object> parameters) throws Exception {
+        final MiloClientEndpoint endpoint = new MiloClientEndpoint(uri, this, configuration.getEndpointUri());
+        endpoint.setConfiguration(configuration);
+        setProperties(endpoint, parameters);
 
         final String cacheId = configuration.toCacheId();
-
         MiloClientConnection connection = this.cache.get(cacheId);
-
         if (connection == null) {
             log.info("Cache miss - creating new connection instance: {}", cacheId);
-
             connection = new MiloClientConnection(configuration);
             this.cache.put(cacheId, connection);
         }
 
-        final MiloClientEndpoint endpoint = new MiloClientEndpoint(uri, this, connection, configuration.getEndpointUri());
-
-        setProperties(endpoint, parameters);
-
         // register connection with endpoint
-
         this.connectionMap.put(cacheId, endpoint);
-
+        endpoint.setConnection(connection);
         return endpoint;
     }
 
diff --git a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientEndpoint.java b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientEndpoint.java
index 46a9e73..ff6c788 100644
--- a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientEndpoint.java
+++ b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientEndpoint.java
@@ -72,21 +72,21 @@ public class MiloClientEndpoint extends DefaultEndpoint {
     @UriParam
     private boolean defaultAwaitWrites;
 
-    private final MiloClientConnection connection;
     private final MiloClientComponent component;
+    private MiloClientConnection connection;
 
-    public MiloClientEndpoint(final String uri, final MiloClientComponent component, final MiloClientConnection connection, final String endpointUri) {
+    public MiloClientEndpoint(final String uri, final MiloClientComponent component, final String endpointUri) {
         super(uri, component);
 
         Objects.requireNonNull(component);
-        Objects.requireNonNull(connection);
         Objects.requireNonNull(endpointUri);
 
         this.endpointUri = endpointUri;
-
         this.component = component;
-        this.connection = connection;
-        this.configuration = connection.getConfiguration();
+    }
+
+    public void setConfiguration(MiloClientConfiguration configuration) {
+        this.configuration = configuration;
     }
 
     public MiloClientConfiguration getConfiguration() {
@@ -111,7 +111,9 @@ public class MiloClientEndpoint extends DefaultEndpoint {
 
     @Override
     public Consumer createConsumer(final Processor processor) throws Exception {
-        return new MiloClientConsumer(this, processor, this.connection);
+        MiloClientConsumer consumer = new MiloClientConsumer(this, processor, this.connection);
+        configureConsumer(consumer);
+        return consumer;
     }
 
     @Override
@@ -172,4 +174,8 @@ public class MiloClientEndpoint extends DefaultEndpoint {
     public void setDefaultAwaitWrites(final boolean defaultAwaitWrites) {
         this.defaultAwaitWrites = defaultAwaitWrites;
     }
+
+    public void setConnection(MiloClientConnection connection) {
+        this.connection = connection;
+    }
 }
diff --git a/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/MiloServerEndpoint.java b/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/MiloServerEndpoint.java
index e94b7fc..5208500 100644
--- a/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/MiloServerEndpoint.java
+++ b/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/MiloServerEndpoint.java
@@ -69,7 +69,9 @@ public class MiloServerEndpoint extends DefaultEndpoint {
 
     @Override
     public Consumer createConsumer(final Processor processor) throws Exception {
-        return new MiloServerConsumer(this, processor, this.item);
+        MiloServerConsumer consumer = new MiloServerConsumer(this, processor, this.item);
+        configureConsumer(consumer);
+        return consumer;
     }
 
     /**