Я получаю исключение ClassCastException при вызове EJB в Pojo над JNDI. Я использую Oracle Weblogic Server 10.3.6 (EJB 3.0).ClassCastException во время вызова EJB над JNDI
Моя структура:
- 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>
Мой Исключение:
Сам Lookup работает. Я получаю ссылку. Но когда я хочу бросить с (MyBeanInterface) Я получаю следующее сообщение об ошибке:
не может бросить экземпляр «класса mypackage.MyBeanInterface_whjkp6_MyBeanImpl (загружается экземпляр weblogic.utils.classloaders.GenericClassLoader (ID = 28136))» в экземпляр «интерфейса mypackage.MyBeanInterface (загружается экземпляр weblogic.utils.classloaders.GenericClassLoader (ID = 28144))
Что я могу сделать?