In OpenEJB we have OWB integrated 100% of the time. Primarily so that scenarios like this don't occur. I.e. "my app worked fine and then I turned on CDI and all these unrelated things break."
Shawn, I'm hammering on that code now on the OpenEJB end. I've checked in a temporary work around there, which should get us by for a while. -David On Mar 20, 2011, at 9:36 PM, Joseph Bergmark wrote: > I might be missing the point, but why are we calling OWB at all if this is a > non-cdi ejb module (which I assume means no beans.xml)? > > Sincerely, > > Joe > > On Mon, Mar 21, 2011 at 12:05 AM, Shawn Jiang <[email protected]> wrote: > >> Could anyone shed some light on following issue ? >> >> >> I got a NPE when calling BeanManagerImpl.isNormalScope(null) when >> constructing a MDB instance in a non-webbean ejb module. From the >> stacktrace, there's no chance the component.getScope() could return a >> non-null value. >> >> I'm wondering why there's no null param checking >> for BeanManagerImpl.isNormalScope() method ? Or could anyone advise how >> to make component.getScope() return a non-null value in following >> stacktrace >> methods ? >> >> >>> >> org.apache.webbeans.container.BeanManagerImpl.isNormalScope(java.lang.Class<? >>> extends java.lang.annotation.Annotation>) line: 1031 >>> >> org.apache.webbeans.config.DefinitionUtil.defineInternalInjectedFields(org.apache.webbeans.component.AbstractInjectionTargetBean<T>, >>> java.lang.Class<T>, boolean) line: 991 >>> >> org.apache.webbeans.config.DefinitionUtil.defineInternalInjectedFieldsRecursively(org.apache.webbeans.component.AbstractInjectionTargetBean<T>, >>> java.lang.Class<T>) line: 968 >>> >> org.apache.webbeans.util.WebBeansAnnotatedTypeUtil.defineInjectedFields(org.apache.webbeans.component.AbstractInjectionTargetBean<X>, >>> javax.enterprise.inject.spi.AnnotatedType<X>) line: 384 >>> >> org.apache.webbeans.component.creation.AnnotatedTypeBeanCreatorImpl<T>(org.apache.webbeans.component.creation.AbstractInjectedTargetBeanCreator<T>).defineInjectedFields() >>> line: 80 >>> >> org.apache.webbeans.util.WebBeansAnnotatedTypeUtil.getJavaEeComponentInstanceInjectionPoints(org.apache.webbeans.config.WebBeansContext, >>> javax.enterprise.inject.spi.AnnotatedType<T>) line: 724 >>> org.apache.webbeans.inject.OWBInjector.inject(java.lang.Object, >>> javax.enterprise.context.spi.CreationalContext<?>) line: 126 >>> org.apache.webbeans.inject.OWBInjector.inject(java.lang.Object) line: 93 >>> org.apache.openejb.BeanContext.newInstance() line: 1122 >>> org.apache.openejb.core.mdb.MdbInstanceFactory.constructBean() line: 194 >>> org.apache.openejb.core.mdb.MdbInstanceFactory.createInstance(boolean) >>> line: 124 >> >> >> >> -- >> Shawn >> >> >> >> -- >> Shawn >>
