Author: ningjiang
Date: Thu Oct 20 12:49:55 2011
New Revision: 1186772

URL: http://svn.apache.org/viewvc?rev=1186772&view=rev
Log:
CAMEL-4561 set the bean scope to be prototype

Modified:
    
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
    
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser.java
    
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/AbstractCxfBeanDefinitionParser.java

Modified: 
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java?rev=1186772&r1=1186771&r2=1186772&view=diff
==============================================================================
--- 
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
 (original)
+++ 
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
 Thu Oct 20 12:49:55 2011
@@ -68,13 +68,9 @@ public class CxfComponent extends Header
             }
 
             result = CamelContextHelper.mandatoryLookup(getCamelContext(), 
beanId, CxfEndpoint.class);
-            // need to set the CamelContext value 
-            if (result.getCamelContext() == null) {
+            // need to check the CamelContext value 
+            if (getCamelContext().equals(result.getCamelContext())) {
                 result.setCamelContext(getCamelContext());
-            } 
-            if (!result.getCamelContext().equals(getCamelContext()) || 
parameters.size() > 0) {
-                // need to clone a new endpoint to use
-                result = result.copy();
             }
             
         } else {

Modified: 
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser.java?rev=1186772&r1=1186771&r2=1186772&view=diff
==============================================================================
--- 
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser.java
 (original)
+++ 
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser.java
 Thu Oct 20 12:49:55 2011
@@ -48,6 +48,8 @@ public class AbstractBeanDefinitionParse
         answer.setRuntimeClass(runtimeClass);
         answer.addProperty("blueprintContainer", createRef(context, 
"blueprintContainer"));
         answer.addProperty("bundleContext", createRef(context, 
"blueprintBundleContext"));
+        // set the Bean scope to be prototype, so we can get a new instance 
per looking up
+        answer.setScope(MutableBeanMetadata.SCOPE_PROTOTYPE);
         
         if (!StringUtils.isEmpty(getIdOrName(element))) {
             answer.setId(getIdOrName(element));

Modified: 
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/AbstractCxfBeanDefinitionParser.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/AbstractCxfBeanDefinitionParser.java?rev=1186772&r1=1186771&r2=1186772&view=diff
==============================================================================
--- 
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/AbstractCxfBeanDefinitionParser.java
 (original)
+++ 
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/AbstractCxfBeanDefinitionParser.java
 Thu Oct 20 12:49:55 2011
@@ -23,6 +23,7 @@ import org.apache.cxf.common.util.String
 import org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser;
 import org.springframework.beans.PropertyValue;
 import org.springframework.beans.factory.BeanDefinitionStoreException;
+import org.springframework.beans.factory.config.BeanDefinition;
 import org.springframework.beans.factory.support.AbstractBeanDefinition;
 import org.springframework.beans.factory.support.BeanDefinitionBuilder;
 import org.springframework.beans.factory.xml.ParserContext;
@@ -57,7 +58,9 @@ public abstract class AbstractCxfBeanDef
         bean.setLazyInit(false);
         // put the bean id into the property map
         Map<String, Object> map = getPropertyMap(bean, true);
-        map.put("beanId", resolveId(element, bean.getBeanDefinition(), ctx));  
      
+        map.put("beanId", resolveId(element, bean.getBeanDefinition(), ctx));
+        // set the bean scope to be prototype, then we can get a new instance 
in each look up 
+        bean.setScope(BeanDefinition.SCOPE_PROTOTYPE);
     }
 
     @Override


Reply via email to