I just committed something that along with fixing some owb integration problems
seems to fix this specific error. I think that in the code below some gbean
dependencies got mixed up and the web service gbean was starting before the ejb
module actually started. I moved the start code back into EjbModuleImpl and
don't see this NPE.
thanks
david jencks
On Jul 14, 2011, at 4:38 AM, Shawn Jiang wrote:
> Hi David Jencks,
>
> Many cases in interop and webservices failed with following similar exception
> at deployment phase after your owb/openejb refactor. Seems deploymentinfo
> does not get initialized correclty in
>
> org.apache.geronimo.openejb.EjbDeployment.initialize(BeanContext) {
> ...
> }
>
> at all. could you please take a look ?
>
> Caused by: org.apache.geronimo.gbean.InvalidConfigurationException:
> Configuration xxx failed to start due
> following reasons:
> The service
> EJBModule=xxxx.jar,J2EEApplication=default/xxxx/1-default/car,SingletonBean=xxxx,j
> WSLink,name=xxxx did not start because null
> java.lang.NullPointerException
> at
> org.apache.geronimo.openejb.EjbDeployment.getBeanClass(EjbDeployment.java:239)
> at
> org.apache.geronimo.axis2.ejb.EJBWebServiceGBean.<init>(EJBWebServiceGBean.java:76)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at
> org.apache.xbean.recipe.ReflectionUtil$ConstructorFactory.create(ReflectionUtil.java:958)
> at
> org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:276)
> at
> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
> at
> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
> at
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:940)
> at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:271)
> at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:105)
> at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:127)
> at
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:567)
> at
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:386)
> at
> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:462)
> at
> org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:226)
> at
> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:702)
> at
> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:681)
> at
> org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartCommand.java:67)
> at java.lang.Thread.run(Thread.java:619)
>
>
>
> On Thu, Jul 14, 2011 at 1:10 PM, David Jencks <[email protected]> wrote:
>
> On Jul 13, 2011, at 9:46 PM, David Blevins wrote:
>
> >
> > On Jul 11, 2011, at 12:54 AM, David Jencks wrote:
> >
> >> testSpecializedBeanNotInstantiated(org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.EnterpriseBeanSpecializationIntegrationTest)
> >> testSpecializingBeanHasBindingsOfSpecializedAndSpecializingBean(org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.EnterpriseBeanSpecializationTest)
> >> testSpecializingBeanHasNameOfSpecializedBean(org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.EnterpriseBeanSpecializationTest)
> >> testSpecializingClassDirectlyExtendsNothing(org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.broken.directlyExtendsNothing.DirectlyExtendsNothingTest)
> >> testSpecializingClassDirectlyExtendsSimpleBean(org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.broken.directlyExtendsSimpleBean.DirectlyExtendsSimpleBeanTest)
> >> testSpecializingClassImplementsInterfaceAndExtendsNothing(org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.broken.implementInterfaceAndExtendsNothing.ImplementsInterfaceAndExtendsNothingTest)
> >> testSpecializingAndSpecializedBeanHasName(org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.broken.sameName.SameNameTest)
> >
> > Have all but 3 of these passing in the embedded container in my local copy.
> > The 3 that fail are "broken" ones. Simply need to add validation for
> > those. My impl code is a bit hacked -- currently only works for @Stateful
> > and not exactly implemented in the right spot -- but otherwise looks like a
> > good approach. Will clean it up and check it in tomorrow.
> >
> >
>
> Excellent! On the geronimo side I've changed things around so that we have
> one openejb appInfo tree for the entire application and use it to set up the
> owb context. This _ought_ to fix the problem in g. that I was seeing that
> the owb context didn't include any of the specialized classes (since it was
> looking at only one of the modules in the ear). However I'm still cleaning
> up loose ends so apps will deploy ok :-)
>
> thanks
> david jencks
>
>
> > -David
> >
>
>
>
>
> --
> Shawn