Re: Re: Re: Re: Strange ClassCastException when looking up SLSB RemoteHome from "external" .war webapp
"Hans J. Prueller" <[email protected]>
| Newsgroups | gmane.comp.java.objectweb.jonas |
|---|---|
| Organization | LBS logics GmbH |
| Message-ID | <1295451747.2234.0.camel@kodos> |
tried it out, classcast problem gone but another error occurs:
javax.naming.NamingException: Cannot perform lookup [Root exception is
javax.naming.NameNotFoundException: Guardian2Home]
at
org.ow2.carol.jndi.intercept.spi.InterceptableContext.namingException(InterceptableContext.java:823)
at
org.ow2.carol.jndi.intercept.spi.InterceptableContext.lookup(InterceptableContext.java:126)
at
org.ow2.carol.jndi.spi.VirtualJNDILookup.lookup(VirtualJNDILookup.java:109)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
hans
Am Mittwoch, den 19.01.2011, 10:45 +0100 schrieb Guillaume Sauthier:
> Can you try with local.registry set to false ?
> --G
>
> Le 19/01/2011 10:32, Hans J. Prueller a écrit :
>
> > Guillaume,
> >
> > thank you. I know about the fact you mentioned
> >
> > >>That means that you can have the same class (same name, same
> > bytecode, same everything), loaded by 2 different classloaders
> > >> but that will be incompatible (you cannot cast one of them into
> > the other).
> >
> > and I already "suspected" a classloader issue being responsible for
> > the classcast problem ;-) I already tried to remove the EJB API
> > from
> > the WEB-INF/lib of the axis2 webapp, but that didn't solve the
> > problem but lead to a classnotfound or noclassdeffound error.
> >
> > I did not change carol.properites - I am simply using JOnAS 5.1.5
> > with its default values!
> >
> > carol.jvm.rmi.local.call = false
> > carol.jvm.rmi.local.registry = true
> >
> > regards,
> > Hans
> >
> > Am Mittwoch, den 19.01.2011, 10:25 +0100 schrieb Guillaume Sauthier:
> >
> > > Hi Hans
> > >
> > > A Class object is defined by its name AND the ClassLoader that
> > > loaded it.
> > > That means that you can have the same class (same name, same
> > > bytecode, same everything), loaded by 2 different classloaders but
> > > that will be incompatible (you cannot cast one of them into the
> > > other).
> > >
> > > So in your case, you have 2 places where your EJB API is
> > > available: inside the EAR and inside the WEB-INF/lib of the axis2
> > > webapp. So they are not sharing the same Class definition for your
> > > EJB API.
> > > What seems to happen is that JNDI returns an instance coming from
> > > your EAR.
> > >
> > > Did you change your carol.properties ?
> > > Can you show me the value of the following properties:
> > > * carol.jvm.rmi.local.call
> > > * carol.jvm.rmi.local.registry
> > >
> > > --G
> > >
> > > Le 19/01/2011 08:10, Hans J. Prueller a écrit :
> > >
> > > > Hi,
> > > >
> > > > we are still working on migrating our JOnAS 4.10 based Java EE
> > > > 1.4 EAR to JOnAS 5.1.5. One (seems really to be the last) open
> > > > issue
> > > > we have is the following:
> > > >
> > > > Our Java EE 1.4 Application is packaged as EAR, it contains the
> > > > EjB-JAR.JAR containing the EJB 2.1 SLSB's. It also contains 2 or
> > > > 3
> > > > webapps as .WAR file (war files within the EAR file), which are
> > > > looking up the remote homes and remote interfaces of the SLSB's
> > > > which works fine.
> > > >
> > > > Then we have another webapp, based on AXIS2 which provides
> > > > webservices to external clients. The axis2 war file provies
> > > > web-services,
> > > > which also lookup the Remote Homes and Remote Interfaces of some
> > > > of the SLSB's contained in the ear mentioned above.
> > > >
> > > > Therefore the remote home and remote interface stubs are
> > > > packaged as .jar file in web-inf/lib of the axis2.war webapp.
> > > >
> > > > Basically this is all as it is meant to be by the Java EE
> > > > standard, this is what remote home and remote interfaces of
> > > > EJB's are for, and it
> > > > really works fine and smooth on JOnAS 4.10.X
> > > >
> > > > When we now deploy our .EAR file and the axis2.WAR on JOnAS
> > > > 5.1.5 and make a test-invocation of the web-service, we get
> > > > a really strange
> > > > ClassCastException:
> > > >
> > > > Cannot cast
> > > > 'org.ow2.jonas_gen.com.lbslogics.ims.guardian.interfaces.JOnASGuardian2Bean1797447629Home' in 'com.lbslogics.ims.guardian.interfaces.Guardian2Home'
> > > >
> > > > When I check the source file (JOnASGuardian2Bean1797447629Home)
> > > > generated by GenIC, it explicitly says:
> > > >
> > > > public class JOnASGuardian2Bean1797447629Home extends
> > > > JSessionHome implements
> > > > com.lbslogics.ims.guardian.interfaces.Guardian2Home {
> > > >
> > > > // JOnAS version used to deploy
> > > > public static final String JONAS_VERSION = "5.1.5";
> > > >
> > > > [ ..... ]
> > > >
> > > >
> > > > ======> so, the cast has to be possible. (and btw this works
> > > > fine with all other .WAR's contained in the EAR itself doing the
> > > > same). So why or what
> > > > is the problem here ???
> > > >
> > > > Any ideas are appreciated because we cannot migrate our
> > > > production servers unless also the webservices are working!
> > > >
> > > > regards,
> > > > Hans
> > > >
> >
> >
(unnamed)
(image/png, 1 KB) - not displayed