JNDIでPojoでEJBを呼び出すときにClassCastExceptionが発生します。 Oracle Weblogic Server 10.3.6(EJB 3.0)を使用します。JNDIでEJBを呼び出すときのClassCastException
マイ構造:
- ここで、app.ear
- libに
- Interfaces.jar
- MyBeanInterface.java
- Interfaces.jar
- ejb.jarなど
- MyBeanImpl.java
- たwebapp.war
- Client.java
- WEB-INF
- のweb.xml
- libに
私のローカルインタフェース:
package mypackage;
@Local
public Interface MyBeanInterface {}
私のEJBクラス:
package mypackage;
@Stateless(name = "MyBean")
public class MyBeanImpl implements MyBeanInterface {}
私のクライアント(ないEJB):
MyBeanInterface bean = (MyBeanInterface) new InitialContext().lookup("java:comp/env/ejb/MyBean");
私のweb.xml
<ejb-local-ref>
<ejb-ref-name>ejb/MyBean</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>mypackage.MyBeanInterface</local>
</ejb-local-ref>
マイ例外:
検索自体は動作します。私は参照を得る。私は(MyBeanInterface)でキャストしたい場合しかし、私は次のエラーを取得する:
はに「クラスmypackage.MyBeanInterface_whjkp6_MyBeanImpl(weblogic.utils.classloaders.GenericClassLoader = 28136(ID)のインスタンスによってロードされた)」のインスタンスをキャストすることはできません私は何ができるのインタフェースmypackage.MyBeanInterface(weblogic.utils.classloaders.GenericClassLoader(ID = 28144)のインスタンスによってロードされた)
」のインスタンス?