题
我在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
有任何想法吗?请注意,需要接口(从配置文件中读取哪些实现,并且可能会更改)
解决方案
我改用了另一个查找策略,而这对我来说不再是问题。我不确定这是否仍然存在于JBoss/Wildfly的最新版本中。这就是为什么我要结束这个问题。
不隶属于 StackOverflow