Hi, David, this change brought some issues. If meta-complete is configured with true in the web.xml, which means that we should not scan any annotation on those managed classes e.g. servlet classes etc. But now, openwebbeans builder would search all the EJB annotations, it might cause those unwanted serlvet classes are processed by the naming builders. I had little knowledge for web beans, not sure why EJB annotation is required for scanning, One possible solution is to check the beans.xml file before the annotation scanning, but there might be still issues if both beans.xml exists and meta-complete is configured with true.
2011/7/19 <dblev...@apache.org> > Author: dblevins > Date: Tue Jul 19 04:26:07 2011 > New Revision: 1148151 > > URL: http://svn.apache.org/viewvc?rev=1148151&view=rev > Log: > GERONIMO-6038: > testNonContextualSessionBeanReferenceIsIntercepted(org.jboss.jsr299.tck.tests.interceptors.definition.enterprise.nonContextualReference.SessionBeanInterceptorOnNonContextualEjbReferenceTest) > Ensure CDI beans are scanned for @EJB references > > Modified: > > > geronimo/server/trunk/plugins/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/OpenWebBeansModuleBuilderExtension.java > > Modified: > geronimo/server/trunk/plugins/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/OpenWebBeansModuleBuilderExtension.java > URL: > http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/OpenWebBeansModuleBuilderExtension.java?rev=1148151&r1=1148150&r2=1148151&view=diff > > ============================================================================== > --- > geronimo/server/trunk/plugins/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/OpenWebBeansModuleBuilderExtension.java > (original) > +++ > geronimo/server/trunk/plugins/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/OpenWebBeansModuleBuilderExtension.java > Tue Jul 19 04:26:07 2011 > @@ -19,6 +19,7 @@ package org.apache.geronimo.openwebbeans > > import java.lang.annotation.Annotation; > import java.lang.reflect.Field; > +import java.lang.reflect.Member; > import java.lang.reflect.Method; > import java.net.URL; > import java.util.ArrayList; > @@ -30,6 +31,7 @@ import java.util.Map; > import java.util.Set; > import java.util.jar.JarFile; > > +import javax.ejb.EJB; > import javax.enterprise.inject.Produces; > > import org.apache.geronimo.common.DeploymentException; > @@ -213,15 +215,19 @@ public class OpenWebBeansModuleBuilderEx > } > > }); > - Set<Class<?>> classes = new HashSet<Class<?>>(); > - List<Method> methods = > bundleAnnotationFinder.findAnnotatedMethods(Produces.class); > - for (Method method: methods) { > - classes.add(method.getDeclaringClass()); > - } > - List<Field> fields = > bundleAnnotationFinder.findAnnotatedFields(Produces.class); > - for (Field field: fields) { > - classes.add(field.getDeclaringClass()); > + > + final List<Member> members = new ArrayList<Member>(); > + > + > members.addAll(bundleAnnotationFinder.findAnnotatedMethods(Produces.class)); > + > members.addAll(bundleAnnotationFinder.findAnnotatedFields(Produces.class)); > + > members.addAll(bundleAnnotationFinder.findAnnotatedFields(EJB.class)); > + > members.addAll(bundleAnnotationFinder.findAnnotatedMethods(EJB.class)); > + > + final Set<Class<?>> classes = new HashSet<Class<?>>(); > + for (Member member : members) { > + classes.add(member.getDeclaringClass()); > } > + > return new ArrayList<Class<?>>(classes); > } catch (Exception e) { > throw new DeploymentException("Fail to scan jsr299 > annotations", e); > > > -- Ivan