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() >>>>>> >>>>>> 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() >>>>>> >>>>>> at >>>>>> org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(EARConfigBuilder.java:562) >>>>>> >>>>>> at >>>>>> org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke() >>>>>> >>>>>> 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() >>>>>> >>>>>> 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() >>>>>> >>>>>> 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() >>>>>> >>>>>> 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 >>>>>> >>>>> >>>>> >>>> >>> >>> >> > >