JBoss AS 7, EJB3 приведен к интерфейсу - PullRequest
2 голосов
/ 18 октября 2011

Я столкнулся со странным поведением с JBoss AS 7 и моим приложением, которое использует EJB3.1. Я успешно ищу bean-компонент, но когда я пытаюсь привести его к его интерфейсу, генерируется исключение.

Код вкратце:

@Local
public interface BusinessObjectsFactory { ... }

@Stateless
@Local(BusinessObjectsFactory.class)
public class JPABusinessObjectsFactory implements BusinessObjectsFactory { ... }

...
Object obj = ctx.lookup("java:app/moduleName/" +
    "JPABusinessObjectsFactory!pckg.BusinessObjectsFactory");
Class c = obj.getClass();
System.out.println(c.getName()); // pckg.BusinessObjectsFactory$$$view36
System.out.println(c.getInterfaces()[0].getName()); // BusinessObjectsFactory 

BusinessObjectsFactory bof = (BusinessObjectsFactory) obj; //cast exception

Есть идеи? Обратите внимание, что необходим интерфейс (какая реализация ищется, читается из файла конфигурации и может измениться)

1 Ответ

0 голосов
/ 20 сентября 2013

Я переключился на другую стратегию поиска, пока это больше не проблема для меня.Я не уверен, присутствует ли он в новейших версиях JBoss / Wildfly AS.Вот почему я закрываю этот вопрос.

...