ClassCastException while using Local interfaces
deathstar Feb 26, 2002 7:16 PMHi,
Iam using Local Interfaces with JBoss3.0 alpha.
Iam getting the following error during deployment:
java.lang.ClassCastException: $Proxy1
 at org.jboss.ejb.plugins.local.BaseLocalContainerInvoker.getEJBLocalHome(BaseLocalContainerInvoker.java:199)
 at org.jboss.ejb.Container.init(Container.java:391)
 at org.jboss.ejb.EntityContainer.init(EntityContainer.java:294)
 at org.jboss.ejb.Application.start(Application.java:201)
 at org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:382)
 at org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:308)
 at java.lang.reflect.Method.invoke(Native Method)
 at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
 at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
 at org.jboss.deployment.J2eeDeployer.startModules(J2eeDeployer.java:467)
 at org.jboss.deployment.J2eeDeployer.startApplication(J2eeDeployer.java:444)
 at org.jboss.deployment.J2eeDeployer.deploy(J2eeDeployer.java:215)
 at java.lang.reflect.Method.invoke(Native Method)
 at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
 at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
 at org.jboss.deployment.AutoDeployer.deploy(AutoDeployer.java:654)
 at org.jboss.deployment.AutoDeployer.run(AutoDeployer.java:327)
 at java.lang.Thread.run(Unknown Source)
[2002-02-26 15:32:45,765,J2eeDeployer#Default,ERROR] Starting core_ejb.jar failed!
javax.management.RuntimeMBeanException: RuntimeException thrown in operation deploy
 at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1640)
 at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
 at org.jboss.deployment.J2eeDeployer.startModules(J2eeDeployer.java:467)
 at org.jboss.deployment.J2eeDeployer.startApplication(J2eeDeployer.java:444)
 at org.jboss.deployment.J2eeDeployer.deploy(J2eeDeployer.java:215)
 at java.lang.reflect.Method.invoke(Native Method)
 at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
 at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
 at org.jboss.deployment.AutoDeployer.deploy(AutoDeployer.java:654)
 at org.jboss.deployment.AutoDeployer.run(AutoDeployer.java:327)
 at java.lang.Thread.run(Unknown Source)
[2002-02-26 15:32:45,906,J2eeDeployer#Default,INFO] Module core_ejb.jar is not running
[2002-02-26 15:32:45,906,J2eeDeployer#Default,INFO] Destroying application core_ejb.jar
[2002-02-26 15:32:45,921,J2eeDeployer#Default,INFO] Destroyed
[2002-02-26 15:32:45,921,AutoDeployer,ERROR] Deployment failed:file:/D:/Servers/jboss-3.0.0alpha/deploy/core_ejb.jar
org.jboss.deployment.J2eeDeploymentException: Error while starting core_ejb.jar: null, Cause: java.lang.NullPointerException
 at org.jboss.deployment.J2eeDeployer.startModules(J2eeDeployer.java:529)
 at org.jboss.deployment.J2eeDeployer.startApplication(J2eeDeployer.java:444)
 at org.jboss.deployment.J2eeDeployer.deploy(J2eeDeployer.java:215)
 at java.lang.reflect.Method.invoke(Native Method)
 at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
 at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
 at org.jboss.deployment.AutoDeployer.deploy(AutoDeployer.java:654)
 at org.jboss.deployment.AutoDeployer.run(AutoDeployer.java:327)
 at java.lang.Thread.run(Unknown Source)
I have used the <local-home> and tags in ejb-jar,
also specified tags in <ejb-local-ref> and also changed to <local-jndi-name> in jboss.xml. Is there something more i should do to use local interfaces?!!
EJB-JAR.xml
...
<ejb-name>UserCMPEJB</ejb-name>
 <local-home>com.core.persistence.user.UserHome</local-home>
 com.core.persistence.user.User
 <ejb-class>com.core.persistence.user.UserCMPBean</ejb-class>
 <persistence-type>Container</persistence-type>
 <prim-key-class>java.lang.Integer</prim-key-class>
 False
 <cmp-version>2.x</cmp-version>
 <abstract-schema-name>UserCMPEJB</abstract-schema-name>
<cmp-field>
 <field-name>userId</field-name>
 </cmp-field>
 <cmp-field>
 <field-name>password</field-name>
 </cmp-field>
<ejb-local-ref>
 <ejb-ref-name>UserCMPEJB</ejb-ref-name>
 <ejb-ref-type>Entity</ejb-ref-type>
 <local-home>com.core.persistence.user.UserHome</local-home>
 com.core.persistence.user.User
 <ejb-link>com.core.persistence.UserCMPBean</ejb-link>
 </ejb-local-ref>
....
JBOSS.xml
 <ejb-name>UserCMPEJB</ejb-name>
 <local-jndi-name>UserCMPEJB</local-jndi-name>
 <configuration-name></configuration-name>
Do i have to specify <ejb-ref> if iam specifying <local-jndi-name> in jboss.xml? Am i missing something? Do let me know.
Thanks in advance!
