You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2009/02/25 07:24:28 UTC

svn commit: r747678 - /camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java

Author: ningjiang
Date: Wed Feb 25 06:24:28 2009
New Revision: 747678

URL: http://svn.apache.org/viewvc?rev=747678&view=rev
Log:
CAMEL-1379 fixed the issue of Mina configuration shared between endpoints

Modified:
    camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java

Modified: camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java?rev=747678&r1=747677&r2=747678&view=diff
==============================================================================
--- camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java (original)
+++ camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java Wed Feb 25 06:24:28 2009
@@ -65,7 +65,7 @@
  */
 public class MinaComponent extends DefaultComponent {
     private static final transient Log LOG = LogFactory.getLog(MinaComponent.class);
-    private MinaConfiguration configuration = new MinaConfiguration();
+    private MinaConfiguration configuration;
 
     public MinaComponent() {
     }
@@ -76,9 +76,15 @@
 
     @Override
     protected Endpoint createEndpoint(String uri, String remaining, Map parameters) throws Exception {
-        // must use copy as each endpoint can have different options
-        ObjectHelper.notNull(configuration, "configuration");
-        MinaConfiguration config = configuration.copy();
+        // Using the configuration which set by the component as a default one
+        // Since the configuration's properties will be set by the URI
+        // we need to copy or create a new MinaConfiguration here
+        MinaConfiguration config;
+        if (configuration != null) {        
+            config = configuration.copy();
+        } else {
+            config = new MinaConfiguration();
+        }
 
         URI u = new URI(remaining);
         config.setHost(u.getHost());
@@ -392,10 +398,7 @@
     // Properties
     //-------------------------------------------------------------------------
 
-    public synchronized MinaConfiguration getConfiguration() {
-        if (configuration == null) {
-            configuration = new MinaConfiguration();
-        }
+    public MinaConfiguration getConfiguration() {        
         return configuration;
     }