我可以在Web模块中从BeanManager查找EJB吗?

时间:2012-03-11 01:14:46

标签: cdi ejb-3.1 jboss7.x

我在EAR中有一个带有estructure的应用程序包:

myapp.ear
 - myapp-ejb.jar
 - myapp-ejbclient.jar
 - myapp-web.war

我在myapp-ejb和myapp-web模块中都有beans.xml。进入Web模块我已经编写了这个代码来从CDI查找EJB,但JBoss中没有找到任何bean作为7.1。但是如果我在JBoss中将此代码用作7.0 webprofile,则代码可以正常工作。

有可能使用BeanManager查找我的EJB吗?

Set<Bean<?>> beans = beanManager.getBeans(MyEJB.class, qualifiers);
Bean<?> bean = (Bean<?>) beans.iterator().next();

CreationalContext<?> ctx = beanManager.createCreationalContext(bean);
MyEJB ejb = beanManager.getReference(bean, MyEJB.class, ctx);

[更新]

我的EJB是远程的,应用程序部署在一个包含所有模块的EAR中。

0 个答案:

没有答案