Hi Scott!!!
Looking at your code, I wonder why you do not cast the looked-up object
directly to your own home interface, i.e
EJB_DSHome ejbHome = (EJB_DSHome)intitalContext.lookup(jndiName);
As far as I can see, you cast an EJBHome to your class that extends
EJBHome. You cannot however cast downwards in an object hierarchy (you can
cast from EJB_DSHome to EJBHome, but not the otherway around).
I hope this helps you!!
Regards,
Fredrik...
On Wed, 17 May 2000, Scott Bader wrote:
> I'm trying to create a bean, but I'm getting a
> java.lang.IncompatibleClassChangeError,
> when I call create() on the home interface.
>
> Has anyone seen this before, or can suggest how to troubleshoot?
>
> I'm running jboss 1.0 (from binary dated 5-11-2000).
>
> Thanks,
> Scott
>
> Here's a snippet of my source code:
>
> initialContext = getInitialContext(vendor);
> log("Got initial context");
>
> /** Call JNDI to look up the home interface **/
> EJBHome ejbHome = (javax.ejb.EJBHome) initialContext.lookup(jndiName);
> log("Got ejbhome interface");
>
> // Cast to the bean's Home interface
> home = (EJB_DSHome) ejbHome;
> log("Got bean home interface");
> EJBTestClient client = null;
>
> /**
> * Ask factory for a new instance of the bean.
> */
> remote = home.create();
>
>
> Here's the output I'm getting:
>
> Got initial context
> Got ejbhome interface
> Got bean home interface
> Exception in thread "main" java.lang.IncompatibleClassChangeError:
> Implementing class
> at java.lang.ClassLoader.defineClass0(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
> at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
> at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
> at java.lang.Class.getFields0(Native Method)
> at java.lang.Class.getDeclaredFields(Class.java:998)
> at java.io.ObjectStreamClass$1.run(ObjectStreamClass.java:340)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.io.ObjectStreamClass.init(ObjectStreamClass.java:293)
> at
> java.io.ObjectStreamClass.lookupInternal(ObjectStreamClass.java:112)
> at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
> at
> org.ejboss.container.ProxyContainer.invoke(ProxyContainer.java:182)
> at
> org.ejboss.container.ProxyContainerForHome.invoke(ProxyContainerForHome.java:109)
> at $Proxy0.create(Unknown Source)
> at ejbtests.TestEJB_DS.<init>(TestEJB_DS.java:58)
> at ejbtests.EJBTestClient.main(EJBTestClient.java:51)
>
>
> --
> --------------------------------------------------------------
> To subscribe: [EMAIL PROTECTED]
> To unsubscribe: [EMAIL PROTECTED]
> Problems?: [EMAIL PROTECTED]
>
>
--
--------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Problems?: [EMAIL PROTECTED]