[ 
https://issues.apache.org/jira/browse/GERONIMO-4178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12610133#action_12610133
 ] 

Manu T George commented on GERONIMO-4178:
-----------------------------------------

This is because the containerId is not getting passed to openejb for the MDB. 
The containerId is dervived from the RA and as the geronimo deployment plan 
that associates the MDB with an RA is not provided the containerId is null. 
Nedd to catch this and throw an exception that the user can understand

> Misleading errors during deployment when missing entries in openejb-jar.xml
> ---------------------------------------------------------------------------
>
>                 Key: GERONIMO-4178
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-4178
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: OpenEJB
>    Affects Versions: 2.1.1
>         Environment: AG 2.1.1, Windows XP
>            Reporter: Ashish Jain
>
> Deploying a EJB jar on to Ag 2.1.1 leads to misleading errors once you have 
> entries missing in openejb-jar.xml. I get a null pointer exception error when 
> I remove <enterprise-beans> and <dependencies> tags from openejb-jar.xml.
> 19:42:23,375 INFO  [config] Configuring Service(id=Default Stateful 
> Container, type=Container, provider-id=Default Stateful Container)
> 19:42:23,375 INFO  [config] Configuring Service(id=Default BMP Container, 
> type=Container, provider-id=Default BMP Container)
> 19:42:23,375 INFO  [config] Configuring Service(id=Default CMP Container, 
> type=Container, provider-id=Default CMP Container)
> 19:42:23,375 INFO  [config] Configuring app: default/MessageDrivenBean/1.0/car
> 19:42:23,421 INFO  [OpenEJB] Auto-deploying ejb AdminMDB: 
> EjbDeployment(deployment-id=MessageDrivenBean/AdminMDB)
> 19:42:23,421 INFO  [config] Loaded Module: default/MessageDrivenBean/1.0/car
> 19:42:24,531 INFO  [startup] Assembling app: 
> C:\AG\2.1.1\geronimo-tomcat6-javaee5-2.1.1\var\temp\geronimo-deployer43113.tmpdir\MessageDrivenBean.jar
> 19:42:24,546 INFO  [startup] Undeploying app: 
> C:\AG\2.1.1\geronimo-tomcat6-javaee5-2.1.1\var\temp\geronimo-deployer43113.tmpdir\MessageDrivenBean.jar
> 19:42:24,546 ERROR [EjbModuleImpl] Module does not exist.
> org.apache.openejb.NoSuchApplicationException: 
> C:\AG\2.1.1\geronimo-tomcat6-javaee5-2.1.1\var\temp\geronimo-deployer43113.tmpdir\MessageDrivenBean.jar
>       at 
> org.apache.openejb.assembler.classic.Assembler.destroyApplication(Assembler.java:599)
>       at 
> org.apache.geronimo.openejb.OpenEjbSystemGBean.removeEjbJar(OpenEjbSystemGBean.java:398)
>       at 
> org.apache.geronimo.openejb.EjbModuleImpl.stop(EjbModuleImpl.java:128)
>       at 
> org.apache.geronimo.openejb.EjbModuleImplGBean.doFail(EjbModuleImplGBean.java:47)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:1028)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
>       at 
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
>       at 
> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
>       at 
> org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
>       at 
> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:549)
>       at 
> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:530)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:615)
>       at 
> org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:832)
>       at 
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
>       at 
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
>       at 
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
>       at 
> org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$1b9ef63a.startConfiguration(<generated>)
>       at 
> org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartCommand.java:67)
>       at java.lang.Thread.run(Thread.java:801)
> 19:42:24,546 ERROR [GBeanInstanceState] Error while starting; GBean is now in 
> the FAILED state: 
> abstractName="default/MessageDrivenBean/1.0/car?J2EEApplication=null,j2eeType=EJBModule,name=default/MessageDrivenBean/1.0/car"
> org.apache.openejb.OpenEJBException: createApplication.failed 
> [C:\AG\2.1.1\geronimo-tomcat6-javaee5-2.1.1\var\temp\geronimo-deployer43113.tmpdir\MessageDrivenBean.jar]:
>  Error building bean 'AdminMDB'.  Exception: class 
> java.lang.NullPointerException: null: null
>       at 
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:592)
>       at 
> org.apache.openejb.assembler.classic.Assembler.createEjbJar(Assembler.java:370)
>       at 
> org.apache.geronimo.openejb.OpenEjbSystemGBean.createEjbJar(OpenEjbSystemGBean.java:391)
>       at 
> org.apache.geronimo.openejb.EjbModuleImpl.start(EjbModuleImpl.java:123)
>       at 
> org.apache.geronimo.openejb.EjbModuleImplGBean.doStart(EjbModuleImplGBean.java:39)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:998)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
>       at 
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
>       at 
> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
>       at 
> org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
>       at 
> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:549)
>       at 
> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:530)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:615)
>       at 
> org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:832)
>       at 
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
>       at 
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
>       at 
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
>       at 
> org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$1b9ef63a.startConfiguration(<generated>)
>       at 
> org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartCommand.java:67)
>       at java.lang.Thread.run(Thread.java:801)
> Caused by: 
> org.apache.openejb.OpenEJBException: Error building bean 'AdminMDB'.  
> Exception: class java.lang.NullPointerException: null: null
>       at 
> org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:64)
>       at 
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:489)
>       ... 27 more
> Caused by: 
> java.lang.NullPointerException
>       at java.util.Hashtable.get(Hashtable.java:482)
>       at 
> org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:59)
>       ... 28 more
> 19:42:24,687 INFO  [SupportedModesServiceImpl] Portlet mode 'edit' not found 
> for portletId: '/plugin.Deployment!227983155|0'

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to