Geronimo
  1. Geronimo
  2. GERONIMO-4178

Misleading errors during deployment when missing entries in openejb-jar.xml

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.1.1
    • Fix Version/s: 2.1.4, 2.2
    • Component/s: OpenEJB
    • Security Level: public (Regular issues)
    • Labels:
      None
    • Environment:

      AG 2.1.1, Windows XP

    • Patch Info:
      Patch Available

      Description

      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'

      1. G4178-r673642.patch
        1.0 kB
        Manu T George

        Activity

        Manu T George made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Manu T George committed 722150 (1 file)
        Reviews: none

        GERONIMO-4178 Misleading errors during deployment when missing entries in openejb-jar.xml. Captures and throws a DeploymentException if the containerId is not set as the RA is not specified

        Manu T George committed 722142 (1 file)
        Reviews: none

        GERONIMO-4178 Misleading errors during deployment when missing entries in openejb-jar.xml. Captures and throws a DeploymentException if the containerId is not set as the RA is not specified

        Donald Woods made changes -
        Fix Version/s 2.1.4 [ 12313380 ]
        Fix Version/s 2.2 [ 12312965 ]
        Patch Info [Patch Available]
        Hide
        Donald Woods added a comment -

        setting target fix versions

        Show
        Donald Woods added a comment - setting target fix versions
        Manu T George made changes -
        Assignee Manu T George [ manucet ]
        Manu T George made changes -
        Assignee Manu T George [ manucet ]
        Hide
        Manu T George added a comment -

        Please verify and commit if appropriate

        Show
        Manu T George added a comment - Please verify and commit if appropriate
        Manu T George made changes -
        Attachment G4178-r673642.patch [ 12385193 ]
        Hide
        Manu T George added a comment -

        Captures and throws a DeploymentException if the containerId is not set as the RA is not specified

        Show
        Manu T George added a comment - Captures and throws a DeploymentException if the containerId is not set as the RA is not specified
        Manu T George made changes -
        Field Original Value New Value
        Assignee Manu T George [ manucet ]
        Hide
        Manu T George added a comment -

        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

        Show
        Manu T George added a comment - 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
        Ashish Jain created issue -

          People

          • Assignee:
            Manu T George
            Reporter:
            Ashish Jain
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development