Author: davsclaus Date: Fri Sep 28 09:52:09 2012 New Revision: 1391379 URL: http://svn.apache.org/viewvc?rev=1391379&view=rev Log: CAMEL-5663: camel-blueprint add check for bean scope using blueprint metadata.
Modified: camel/branches/camel-2.10.x/ (props changed) camel/branches/camel-2.10.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java Propchange: camel/branches/camel-2.10.x/ ------------------------------------------------------------------------------ Merged /camel/trunk:r1391378 Propchange: camel/branches/camel-2.10.x/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: camel/branches/camel-2.10.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java?rev=1391379&r1=1391378&r2=1391379&view=diff ============================================================================== --- camel/branches/camel-2.10.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java (original) +++ camel/branches/camel-2.10.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java Fri Sep 28 09:52:09 2012 @@ -748,6 +748,19 @@ public class CamelNamespaceHandler imple public void afterDestroy(Object bean, String beanName) { } + @Override + protected boolean isSingleton(Object bean, String beanName) { + ComponentMetadata meta = blueprintContainer.getComponentMetadata(beanName); + if (meta != null && meta instanceof BeanMetadata) { + String scope = ((BeanMetadata) meta).getScope(); + if (scope != null) { + return BeanMetadata.SCOPE_SINGLETON.equals(scope); + } + } + // fallback to super, which will assume singleton + // for beans not implementing Camel's IsSingleton interface + return super.isSingleton(bean, beanName); + } } public static class CamelDependenciesFinder implements ComponentDefinitionRegistryProcessor {