我在web项目里声明了需要访问的EJB(的引用),如下: <ejb-local-ref id="EJBLocalRef_1"> <ejb-ref-name>local/UserBean</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <local-home>com.norteksoft.user.UserHome</local-home> <local>com.norteksoft.user.User</local> <ejb-link>EJBModule1.jarUserBean</ejb-link> </ejb-local-ref> 然后在部署过程中把local/UserBean绑定到了那个真实的EJB的JNDI名字上了,然后顺利启动了这个web应用,但是在执行到 Object obj=ctx.lookup("java:comp/env/local/UserBean"); userHome=(UserHome)obj;时,却出现异常: java.lang.ClassCastException: com.norteksoft.user.EJSLocalCMPUserBeanHome_0f8c08c9 我反编译了EJSLocalCMPUserBeanHome_0f8c08c9发现她确实实现了UserHome接口哇。 他们部署在WAS的同一个节点上
<ejb-local-ref id="EJBLocalRef_1"> <ejb-ref-name>local/UserBean</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <local-home>com.norteksoft.user.UserHome</local-home> <local>com.norteksoft.user.User</local> <ejb-link>EJBModule1.jarUserBean</ejb-link> </ejb-local-ref>
Object obj=ctx.lookup("java:comp/env/local/UserBean"); userHome=(UserHome)obj;