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