You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2009/06/30 15:13:33 UTC

svn commit: r789704 - in /cxf/trunk/rt/core/src/main: java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java resources/META-INF/cxf/cxf.xml

Author: dkulp
Date: Tue Jun 30 13:13:33 2009
New Revision: 789704

URL: http://svn.apache.org/viewvc?rev=789704&view=rev
Log:
[CXF-2210] Change JSR250BeanPostProcess to check the context itself to
see if Spring is handling the JSR250 annotations.

Modified:
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java
    cxf/trunk/rt/core/src/main/resources/META-INF/cxf/cxf.xml

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java?rev=789704&r1=789703&r2=789704&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java Tue Jun 30 13:13:33 2009
@@ -24,9 +24,7 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.annotation.Resource;
 
-import org.apache.cxf.Bus;
 import org.apache.cxf.common.injection.ResourceInjector;
 import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.resource.ResourceManager;
@@ -45,18 +43,20 @@
     
     private ApplicationContext context;
 
-    private Bus bus;
+    private boolean isProcessing = true;
     
     Jsr250BeanPostProcessor() {
     }
     
-    @Resource
-    public void setBus(Bus b) {
-        bus = b;
-    }
-    
     public void setApplicationContext(ApplicationContext arg0) throws BeansException {
-        context = arg0;    
+        context = arg0;  
+        try {
+            Class<?> cls = Class
+                .forName("org.springframework.context.annotation.CommonAnnotationBeanPostProcessor");
+            isProcessing = context.getBeanNamesForType(cls, true, false).length == 0;
+        } catch (ClassNotFoundException e) {
+            isProcessing = true;
+        }
     }
     
     public int getOrder() {
@@ -64,7 +64,7 @@
     }
         
     public Object postProcessAfterInitialization(Object bean, String beanId) throws BeansException {
-        if (bus != null) {
+        if (!isProcessing) {
             return bean;
         }
         if (bean != null) {
@@ -82,7 +82,7 @@
     }
 
     public Object postProcessBeforeInitialization(Object bean, String beanId) throws BeansException {
-        if (bus != null) {
+        if (!isProcessing) {
             return bean;
         }
         if (bean != null) {
@@ -92,7 +92,7 @@
     }
 
     public void postProcessBeforeDestruction(Object bean, String beanId) {
-        if (bus != null) {
+        if (!isProcessing) {
             return;
         }
         if (bean != null) {

Modified: cxf/trunk/rt/core/src/main/resources/META-INF/cxf/cxf.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/resources/META-INF/cxf/cxf.xml?rev=789704&r1=789703&r2=789704&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/resources/META-INF/cxf/cxf.xml (original)
+++ cxf/trunk/rt/core/src/main/resources/META-INF/cxf/cxf.xml Tue Jun 30 13:13:33 2009
@@ -19,10 +19,15 @@
 -->
 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:foo="http://cxf.apache.org/configuration/foo"
+       xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="
-http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
+http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
 
+	<!--  For Testing using the Swing commons processor, uncomment one of: 
+	<bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor"/>
+	<context:annotation-config/>
+	-->
     <bean id="cxf" class="org.apache.cxf.bus.CXFBusImpl"/>
     <bean id="org.apache.cxf.bus.spring.BusApplicationListener" class="org.apache.cxf.bus.spring.BusApplicationListener"/>
     <bean id="org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor" class="org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor"/>