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 {


Reply via email to