I answered most of my own questions already fro my previous post. WAS
CE does not have source downloads so I will have to install geronimo
straight and try it that way. I will report back what happens.
Doug
David Jencks wrote:
> On May 19, 2007, at 2:25 PM, Doug Lochart wrote:
>
>> David Jencks wrote:
>>> I don't see any obvious way this could be happening. I would
>>> investigate by putting a breakpoint just before where the exception
>>> is thrown and looking at the classloader and what is being loaded in
>>> the debugger.
>>>
>> Believe it or not I don't use Eclipse or other IDE ... except for the
>> debugger aspect I despise them. My fingers and mind are trained for
>> emacs thus I rarely use IDE's unless I need a debugger. So that
>> being said how painful is it to setup geronimo under Eclipse or other
>> debugger? Is there an easy step by step process to do this some
>> where posted? At this point in time I don't really want to take a
>> week just to get it running under a debugger. If it is simple then I
>> will do so. Actually if I don't have another option I guess I will
>> have to do so.
>> What IDE/Debugger would you suggest is the least painless to use with
>> Geronimo? I tried Eclipse a long time ago and hated the way it
>> forced its structure on me. I don't want to get into a war on IDE's
>> but and IDE should never dictate external process or structure. Okay
>> off my soapbox ... any way I happy to do what you suggest.
>
> I use intellij IDEA and really like it. After about an hour I
> abandoned my years of emacs use and haven't looked back for java
> code. If you can get a copy (I think they have a free trial) run
>
> mvn idea:idea
>
> and open the project file this generates in IDEA. When you stop at a
> breakpoint you can use "Evaluate Expression" in the run menu to try
> loading various classes in the available classloaders and probably
> figure out what is going on pretty quickly.
>>
>>> Can you think of something that geronimo could do that would make it
>>> so you didn't need to debug to solve this problem?
>>>
>> Well a thoroughly instrumented flow (as in debug statements) would
>> help. I think this code is JDK 1.5 so you could make use of
>> annotations or cglib to intercept methods and add trace debugging
>> that way but just entering and leaving methods would not suffice for
>> this problem. I did not see a whole lot of debug statements in the
>> class where the exception occurs so I could not see the values for
>> the arguments to the methods that were being called.
>>
>> Maybe on these types of exceptions (class loading) maybe when the
>> log4j debug level is set to trace you could possibly create a
>> hierarchical dump of the classloaders and what they have as their
>> classpath? I haven't written a classloader in a year or three so I
>> forget what is at your disposal but a good environment dump with
>> effective classpath information is always helpful.
>>
>> If you are familiar with Tapestry the exception mechanism is pretty
>> nice albeit its geared for a web exception but you get the whole
>> state of the system regarding that page and it makes tracing thr
>> problem very easy.
>>> thanks
>>> david jencks
>>>
>> Thanks David.
>>
>> I have a question ... if the class that is causing the exception
>> depends on another class that is not available to the classloader wil
>> lyou still get the same exception or would you be pointing to the
>> truly offending class? I am just wondering if the tool I am using
>> aggregated all of the proper stuff for the task.
>
> I'm not thrilled with the message from NCDFE: I would prefer it told
> you what class it was trying to load when it couldn't load the class
> it complains about. This might be what you mean too :-) Anyway I
> think you will figure out what is wrong pretty quickly if you can get
> to the point where the error occurs in a debugger.
>
> thanks
> david jencks
>
>
>>
>>> On May 19, 2007, at 7:09 AM, Doug Lochart wrote:
>>>
>>>> David or anyone else,
>>>>
>>>> Have you had any chance to look at the full stack trace of my
>>>> exception yet? Here it is again.
>>>>>>
>>>>>> 12:17:31,183 DEBUG [Configuration] Started configuration
>>>>>> france/FrancePolicyServerEar/1.0/car
>>>>>> 12:17:32,803 DEBUG [Configuration] Stopping configuration
>>>>>> france/FrancePolicyServerEar/1.0/car
>>>>>> 12:17:32,816 ERROR [Deployer] Deployment failed:
>>>>>> plan=/mnt/steve_d/Blaze65/deployfrancepolicy/./geronimo-application.xml,
>>>>>> module=/mnt/steve_d/Blaze65/deployfrancepolicy/FrancePolicyServer.ear
>>>>>>
>>>>>> org.apache.geronimo.common.DeploymentException: Unable to
>>>>>> initialize EJBContainer GBean: ejbNameFrancePolicyServer
>>>>>> at
>>>>>> org.openejb.deployment.SessionBuilder.addEJBContainerGBean(SessionBuilder.java:315)
>>>>>>
>>>>>> at
>>>>>> org.openejb.deployment.SessionBuilder.buildBeans(SessionBuilder.java:192)
>>>>>>
>>>>>> at
>>>>>> org.openejb.deployment.OpenEJBModuleBuilder.addGBeans(OpenEJBModuleBuilder.java:514)
>>>>>>
>>>>>> at
>>>>>> org.openejb.deployment.OpenEJBModuleBuilder$$FastClassByCGLIB$$11bd7b20.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:817)
>>>>>>
>>>>>> 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.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$7afc2c82.addGBeans(<generated>)
>>>>>>
>>>>>> at
>>>>>> org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(EARConfigBuilder.java:562)
>>>>>>
>>>>>> at
>>>>>> org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.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:817)
>>>>>>
>>>>>> 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.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$86e934f4.buildConfiguration(<generated>)
>>>>>>
>>>>>> at
>>>>>> org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:302)
>>>>>> at
>>>>>> org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:124)
>>>>>> at
>>>>>> org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.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.GeneratedMethodAccessor56.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:
>>>>>> java.lang.NoClassDefFoundError:
>>>>>> com.blazesoft.server.deploy.ejb.session.NdStatelessEjbServerBean
>>>>>> at java.lang.ClassLoader.defineClassImpl(Native Method)
>>>>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:223)
>>>>>> at
>>>>>> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:148)
>>>>>>
>>>>>> at
>>>>>> org.apache.geronimo.kernel.classloader.JarFileClassLoader.access$200(JarFileClassLoader.java:51)
>>>>>>
>>>>>> at
>>>>>> org.apache.geronimo.kernel.classloader.JarFileClassLoader$6.run(JarFileClassLoader.java:275)
>>>>>>
>>>>>> at
>>>>>> java.security.AccessController.doPrivileged(AccessController.java:275)
>>>>>>
>>>>>> at
>>>>>> org.apache.geronimo.kernel.classloader.JarFileClassLoader.findClass(JarFileClassLoader.java:227)
>>>>>>
>>>>>> at
>>>>>> org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:243)
>>>>>>
>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:563)
>>>>>> at
>>>>>> org.openejb.deployment.StatelessContainerBuilder.buildIt(StatelessContainerBuilder.java:97)
>>>>>>
>>>>>> at
>>>>>> org.openejb.deployment.AbstractContainerBuilder.createConfiguration(AbstractContainerBuilder.java:354)
>>>>>>
>>>>>> at
>>>>>> org.openejb.deployment.SessionBuilder.addEJBContainerGBean(SessionBuilder.java:313)
>>>>>>
>>>>>> ... 58 more
>>>>>> 12:17:57,948 DEBUG [ManagerBase] Start expire sessions
>>>>>> StandardManager at 1179505077948 sessioncount 0
>>>>>> 12:17:57,948 DEBUG [ManagerBase] End expire sessions
>>>>>> StandardManager processingTime 0 expired sessions: 0
>>>>>>
>>>>>>> thanks
>>>>>>> david jencks
>>>>>> No ... Thank You !!
>>>>>>
>>>>>>
>>>>>> Doug
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>
>
|