JBoss AS 7,EJB3转换为接口

时间:2011-10-18 16:22:49

标签: ejb jboss7.x

我正面临着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 :(得分:0)

我切换到另一个查找策略,而这对我来说不再是问题。我不确定这是否仍然存在于最新版本的JBoss / Wildfly AS中。这就是为什么我要结束这个问题。