geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: ClassCastException while using the gloabl JNDI Context
Date Mon, 26 Nov 2007 17:35:25 GMT
Right now your configuration loads the same jar into each of the web  
app classloaders, so the classes are different (same bytes, different  
classloaders).  You need to get the common jar into a shared  
classloader.  Some ways to do this are:

1.  create a configuration with (only) that common jar as a  
dependency, and have a dependency on this configuration in both web apps
2. make one web app depend on the other one
3. use the shared-lib feature (I don't recommend this)

thanks
david jencks

On Nov 26, 2007, at 6:33 AM, Jochen Zink wrote:

> Hello,
>
> I try to put a Javaobjekt to the global JNDI Context, and access  
> this Objekt from different Applications.
>
> A WebApplication (named webAppA) deployed as standalone WAR File,  
> puts an Object to the global JNDI Context:
> InitialContext ic = new InitialContext();
> Context namingContext = (Context) ic.lookup("ger:");
> RolleDTO objectToBind = new RolleDTO();
> namingContext.bind( "myObject" , objectToBind);
>
> Another WebApplication (named webAppB) deployed as WAR File inside  
> an EAR File, trys to access the Object with name myObject:
>
> InitialContext ic = new InitialContext();
> Context context = (Context) ic.lookup("ger:");
> RolleDTO rolle = (RolleDTO) context.lookup("myObject ");
>
> The Result is the follwoing ClassCastException.
>
> Both Webapplications uses a common lib, which contains the RolleDTO  
> class, and both has a dependency entry in geronimo-web.xml to this  
> Library. This lib only exists as common lib. No local versions are  
> placed inside the war files or inside the ear file.
>
> I’m using Geronimo 2.0.1. Has anyone an idea what is going wrong?
>
> Thanks a lot
> Jochen
>
> javax.naming.NameNotFoundException: com.accumio.ae.Test
> 	at org.apache.xbean.naming.context.AbstractContext.lookup 
> (AbstractContext.java:163)
> 	at org.apache.xbean.naming.context.AbstractContext.lookup 
> (AbstractContext.java:597)
> 	at com.accumio.ae.jobtrigger.TriggerServlet.init 
> (TriggerServlet.java:58)
> 	at org.apache.catalina.core.StandardWrapper.loadServlet 
> (StandardWrapper.java:1053)
> 	at org.apache.catalina.core.StandardWrapper.load 
> (StandardWrapper.java:955)
> 	at org.apache.catalina.core.StandardContext.loadOnStartup 
> (StandardContext.java:4035)
> 	at org.apache.catalina.core.StandardContext.start 
> (StandardContext.java:4338)
> 	at org.apache.geronimo.tomcat.GeronimoStandardContext.access$201 
> (GeronimoStandardContext.java:60)
> 	at org.apache.geronimo.tomcat.GeronimoStandardContext 
> $SystemMethodValve.invoke(GeronimoStandardContext.java:343)
> 	at org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke 
> (GeronimoBeforeAfterValve.java:47)
> 	at org.apache.geronimo.tomcat.GeronimoStandardContext.start 
> (GeronimoStandardContext.java:196)
> 	at org.apache.catalina.core.ContainerBase.addChildInternal 
> (ContainerBase.java:791)
> 	at org.apache.catalina.core.ContainerBase.addChild 
> (ContainerBase.java:771)
> 	at org.apache.catalina.core.StandardHost.addChild 
> (StandardHost.java:525)
> 	at org.apache.geronimo.tomcat.TomcatContainer.addContext 
> (TomcatContainer.java:355)
> 	at org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$ 
> $9370b073.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:124)
> 	at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
> (GBeanInstance.java:830)
> 	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.tomcat.TomcatContainer$$EnhancerByCGLIB$ 
> $34b6a2f8.addContext(<generated>)
> 	at org.apache.geronimo.tomcat.TomcatWebAppContext.doStart 
> (TomcatWebAppContext.java:524)
> 	at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance 
> (GBeanInstance.java:996)
> 	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.GBeanInstance.start 
> (GBeanInstance.java:539)
> 	at  
> org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart 
> (GBeanDependency.java:111)
> 	at org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget 
> (GBeanDependency.java:146)
> 	at org.apache.geronimo.gbean.runtime.GBeanDependency$1.running 
> (GBeanDependency.java:120)
> 	at  
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEven 
> t(BasicLifecycleMonitor.java:176)
> 	at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access 
> $300(BasicLifecycleMonitor.java:44)
> 	at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor 
> $RawLifecycleBroadcaster.fireRunningEvent 
> (BasicLifecycleMonitor.java:254)
> 	at  
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart( 
> GBeanInstanceState.java:294)
> 	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:553)
> 	at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean 
> (BasicKernel.java:379)
> 	at  
> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfiguration 
> GBeans(ConfigurationUtil.java:448)
> 	at  
> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfiguration 
> GBeans(ConfigurationUtil.java:485)
> 	at  
> org.apache.geronimo.kernel.config.KernelConfigurationManager.start 
> (KernelConfigurationManager.java:187)
> 	at  
> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConf 
> iguration(SimpleConfigurationManager.java:530)
> 	at  
> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConf 
> iguration(SimpleConfigurationManager.java:511)
> 	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:124)
> 	at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
> (GBeanInstance.java:830)
> 	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.gbean.GBeanLifecycle$$EnhancerByCGLIB$ 
> $4c0db839.startConfiguration(<generated>)
> 	at org.apache.geronimo.deployment.plugin.local.StartCommand.run 
> (StartCommand.java:67)
> 	at java.lang.Thread.run(Thread.java:619)
>
>
> ______________________________________________________________________ 
> _
> Jetzt neu! Schützen Sie Ihren PC mit McAfee und WEB.DE. 3 Monate
> kostenlos testen. http://www.pc-sicherheit.web.de/startseite/? 
> mc=022220
>


Mime
View raw message