geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Doug Lochart <dloch...@capecomputing.com>
Subject Re: Web Application Migration to Geronimo
Date Sun, 20 May 2007 12:40:26 GMT
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
>
pray tell what is mvn?  Is this a command within idea or is this maven?  
I haven't used maven in 3 years.  If it is maven and the maven project 
files that comes with geronimo I doubt or wonder if that will be there 
in WAS CE
> 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.
Thanks for the suggestion.  I will give it a try.  I keep forgetting 
this is Websphere Application Server Community Edition so I hope it is 
the same.  What I will do first is just install the latest geronimo with 
tomcat executable and see if it runs properly there just in case.  Then 
I will
>>
>>> 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.
>
I Hope so too
> thanks
> david jencks
>
thanks.  have a good weekend (what is left of it)

Doug
>
>>
>>> 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
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>
>


Mime
View raw message