geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Doug Lochart <dloch...@capecomputing.com>
Subject Re: Different Exception during deploy this time
Date Wed, 23 May 2007 15:16:09 GMT
I looked into the code where the exception is occuring and it seems to 
be choking (Null Pointer Exception) on the context.  Evidently the 
context is null.  I see there is a setContext() method on the 
TomcatWebAppContext.java class but do not know where it is called from.

I am focusing on the following part of the stack trace I recieved.

java.lang.NullPointerException
       at java.util.Hashtable.put(Hashtable.java:630)
       at 
org.apache.naming.resources.DirContextURLStreamHandler.bind(DirContextURLStreamHandler.java:233)


       at 
org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:443) 

       at 
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:981) 

    
Am I correct in thinking it is a null context OR that part of the 
context is null?  Any idea what would cause this?  I do NOT have a 
geronimo-web.xml in the WAR that is deployed with the ear.  This is the 
web.xml that is in the WAR.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="WebApp_ID" 
version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>HTTP router for FrancePolicyServer_EJB.jar</display-name>
    <display-name>HTTP router for FrancePolicyServer_EJB.jar</display-name>
    <servlet>
        <display-name>Web services Router servlet for port-component 
FrancePolicyService</display-name>
        <display-name>Web services Router servlet for port-component 
FrancePolicyService</display-name>
        <servlet-name>FrancePolicyService</servlet-name>
        
<servlet-class>com.ibm.ws.webservices.engine.transport.http.WebServicesServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>FrancePolicyService</servlet-name>
        <url-pattern>services/FrancePolicyService</url-pattern>
    </servlet-mapping>
</web-app>

 see double instances for display-name and I am wondering could that be 
the cause of anything.  If so it should have choked during deployment 
and not at runtime. 

This is what was generated my the tool I have to use.  Believe it or not 
this is one of 3 xml files that make up the entire contents of the WAR.  
The WebServicesServlet class is in the jar that I installed as a common 
lib.  The other 2 xml docs are WAS 6.0 specific so should be ignored.  I 
may take David's advice and try to deploy again without the WAR but as 
of now the powers that be want to to try the whole shebang.  I have a 
feeling the servlet routing class will need the WAS files to route the 
service requests anyway.

Anybody know what might cause the NPE?  I will try and deploy without 
the WAR next

thanks

Doug



Doug Lochart wrote:
> Anybody have any idea what might cause this exception?  Since the Ear 
> deployed and it is trying to start I would assume it is something with 
> the EAR however I find it odd that a root cause is a Null Pointer 
> Exception.  Do any one of you developers know the area of code the NPE 
> is occurring and what might be causing it?
>
> thanks
>
> Doug
>
> Doug Lochart wrote:
>> I used the webconsole and added it to Common Libs.  It ended up 
>> creating a directory under the repository named dlochart (not sure 
>> where it got that from) and dropped the jar under the name I gave 
>> it.  I looked and I saw axis so i blindly followed and added this to 
>> my plan.
>>
>> <sys:dependency>
>>     <sys:groupId>geronimo</sys:groupId>
>>     <sys:artifactId>sharedlib</sys:artifactId>
>>     <sys:type>car</sys:type>
>>  </sys:dependency>
>>
>> I still received the same exception so I looked again and I saw there 
>> was an axis under geronimo which told me that I need to sdjust my 
>> dependency so I guessed it would need to be this:
>>
>> <sys:dependency>
>>     <sys:groupId>dlochart</sys:groupId>
>>     <sys:artifactId>ibm-runtime</sys:artifactId>
>>     <sys:type>jar</sys:type>
>>  </sys:dependency>
>>
>> Am I correct on this considering I have a jar under 
>> $geronimo_home/repositories/dlochart/ibm-runtime/6.1.0 ?
>>
>> Either way I recieved the same exception as below.  Any idea what the 
>> exception might mean?
>>
>> thanks
>>>>
>>>> org.apache.geronimo.kernel.config.LifecycleException: start of 
>>>> france/FrancePolicyServerEar/1.0/car failed
>>>>        at 
>>>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:544)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:508)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(<generated>)

>>>>
>>>>        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>>>        at 
>>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)

>>>>
>>>>        at 
>>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)

>>>>
>>>>        at 
>>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:852)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:338)
>>>>        at 
>>>> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)

>>>>
>>>>        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>>>        at 
>>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)

>>>>
>>>>        at 
>>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)

>>>>
>>>>        at 
>>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:852)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)

>>>>
>>>>        at 
>>>> org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:168)

>>>>
>>>>        at 
>>>> com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:231)

>>>>
>>>>        at 
>>>> com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:238)
>>>>        at 
>>>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:833)

>>>>
>>>>        at 
>>>> com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802)
>>>>        at 
>>>> javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1423)

>>>>
>>>>        at 
>>>> javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:96)

>>>>
>>>>        at 
>>>> javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1260)

>>>>
>>>>        at 
>>>> java.security.AccessController.doPrivileged(AccessController.java:275)
>>>>        at 
>>>> javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1363)

>>>>
>>>>        at 
>>>> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:797)

>>>>
>>>>        at sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
>>>>        at 
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

>>>>
>>>>        at java.lang.reflect.Method.invoke(Method.java:615)
>>>>        at 
>>>> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:309)
>>>>        at sun.rmi.transport.Transport$1.run(Transport.java:168)
>>>>        at 
>>>> java.security.AccessController.doPrivileged(AccessController.java:275)
>>>>        at sun.rmi.transport.Transport.serviceCall(Transport.java:164)
>>>>        at 
>>>> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:506)

>>>>
>>>>        at 
>>>> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTransport.java:838)

>>>>
>>>>        at 
>>>> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:912)

>>>>
>>>>        at java.lang.Thread.run(Thread.java:799)
>>>> Caused by: 
>>>> org.apache.geronimo.kernel.config.InvalidConfigException: Unknown 
>>>> start exception
>>>>        at 
>>>> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:440)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:411)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:527)

>>>>
>>>>        ... 36 more
>>>> Caused by: org.apache.geronimo.gbean.InvalidConfigurationException: 
>>>> Configuration 
>>>> france/FrancePolicyServerEar_FrancePolicyServer_WEB.war/1.0/car 
>>>> failed to start due to the following reasons:
>>>>  The service 
>>>> J2EEApplication=france/FrancePolicyServerEar/1.0/car,j2eeType=WebModule,name=FrancePolicyServer_WEB.war

>>>> did not start because the doStart method threw an exception.
>>>> java.lang.NullPointerException
>>>>        at java.util.Hashtable.put(Hashtable.java:630)
>>>>        at 
>>>> org.apache.naming.resources.DirContextURLStreamHandler.bind(DirContextURLStreamHandler.java:233)

>>>>
>>>>        at 
>>>> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:443)

>>>>
>>>>        at 
>>>> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:981)

>>>>
>>>>        at 
>>>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:267)

>>>>
>>>>        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:540)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:374)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:411)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:527)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:508)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(<generated>)

>>>>
>>>>        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>>>        at 
>>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)

>>>>
>>>>        at 
>>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)

>>>>
>>>>        at 
>>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:852)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:338)
>>>>        at 
>>>> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)

>>>>
>>>>        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>>>        at 
>>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)

>>>>
>>>>        at 
>>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)

>>>>
>>>>        at 
>>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:852)

>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)

>>>>
>>>>        at 
>>>> org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:168)

>>>>
>>>>        at 
>>>> com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:231)

>>>>
>>>>        at 
>>>> com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:238)
>>>>        at 
>>>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:833)

>>>>
>>>>        at 
>>>> com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802)
>>>>        at 
>>>> javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1423)

>>>>
>>>>        at 
>>>> javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:96)

>>>>
>>>>        at 
>>>> javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1260)

>>>>
>>>>        at 
>>>> java.security.AccessController.doPrivileged(AccessController.java:275)
>>>>        at 
>>>> javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1363)

>>>>
>>>>        at 
>>>> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:797)

>>>>
>>>>        at sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
>>>>        at 
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

>>>>
>>>>        at java.lang.reflect.Method.invoke(Method.java:615)
>>>>        at 
>>>> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:309)
>>>>        at sun.rmi.transport.Transport$1.run(Transport.java:168)
>>>>        at 
>>>> java.security.AccessController.doPrivileged(AccessController.java:275)
>>>>        at sun.rmi.transport.Transport.serviceCall(Transport.java:164)
>>>>        at 
>>>> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:506)

>>>>
>>>>        at 
>>>> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTransport.java:838)

>>>>
>>>>        at 
>>>> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:912)

>>>>
>>>>        at java.lang.Thread.run(Thread.java:799)
>>>>
>>>>
>>>>        at 
>>>> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:403)

>>>>
>>>>        ... 39 more
>>>>    Error: Operation failed: start of
>>>>    france/FrancePolicyServerEar/1.0/car failed
>>>>
>>>>
>>>> For completeness I will include the geronimo-application.xml and 
>>>> openejb-jar.xml
>>>> geronimo-application.xml
>>>> -----------------------------------
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <application application-name="FrancePolicyServerEar"
>>>>              
>>>> xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-1.1"
>>>>              
>>>> xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1"
>>>>              
>>>> xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1">
>>>>  <sys:environment>
>>>>    <sys:moduleId>
>>>>      <sys:groupId>france</sys:groupId>
>>>>      <sys:artifactId>FrancePolicyServerEar</sys:artifactId>
>>>>      <sys:version>1.0</sys:version>
>>>>      <sys:type>car</sys:type>
>>>>    </sys:moduleId>
>>>>    <sys:dependencies>
>>>>      <sys:dependency>
>>>>      <sys:groupId>geronimo</sys:groupId>
>>>>      <sys:artifactId>axis</sys:artifactId>
>>>>      <sys:type>car</sys:type>
>>>>      </sys:dependency>
>>>>    </sys:dependencies>
>>>>    <sys:hidden-classes/>
>>>>    <sys:non-overridable-classes/>
>>>>  </sys:environment>
>>>> </application>
>>>>
>>>> openejb-jar.xml
>>>> ---------------------
>>>> <openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1">
>>>>  <dep:environment 
>>>> xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1">
>>>>    <dep:moduleId>
>>>>      <dep:groupId>qdfrancepolicy.</dep:groupId>
>>>>      <dep:artifactId>FrancePolicyServverEjb</dep:artifactId>
>>>>      <dep:version>1.0</dep:version>
>>>>      <dep:type>car</dep:type>
>>>>    </dep:moduleId>
>>>>    <dep:dependencies>
>>>>      <dep:dependency>
>>>>        <dep:groupId>geronimo</dep:groupId>
>>>>        <dep:artifactId>tomcat</dep:artifactId>
>>>>        <dep:type>car</dep:type>
>>>>      </dep:dependency>
>>>>    </dep:dependencies>
>>>>    <dep:hidden-classes/>
>>>>    <dep:non-overridable-classes/>
>>>>  </dep:environment>
>>>>  <enterprise-beans>
>>>>    <session>
>>>>      <ejb-name>FrancePolicyServer</ejb-name>
>>>>      <jndi-name>qdfrancepolicy.FrancePolicyHome</jndi-name>
>>>>    </session>
>>>>  </enterprise-beans>
>>>> </openejb-jar>
>>>>
>>>>
>>>> This ear includes a WAR which is merely a WebServiceRouter (ibm 
>>>> class), EJB WebService Session Bean implementation, and some JARs 
>>>> that the code depends upon.
>>>>
>>>> Note:
>>>>
>>>> The WAR router servlet is an IBM specific class that lives in a jar 
>>>> that is not in the ear as it is expected to be in the WAS system 
>>>> and I assume available to all.  I added this jar to the lib 
>>>> directory under the geronimo install.  I hope this is sufficient 
>>>> for this if not I would like to know the best strategy for 
>>>> deploying this jar preferrably outside the EAR.
>>>>
>>>> thanks
>>>>
>>>> Doug
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>


Mime
View raw message