如何查找cdi bean而不是无状态和localbean?

时间:2014-05-20 09:16:38

标签: javabeans cdi lookup

我有CDI RequestScoped bean以及更多不是bean的java类。在任何这些java类中,我想使用我的bean,但它可以注入(为什么?我不知道)一种可能的方法是使用这个代码:

final Hashtable jndiProperties = new Hashtable();
jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
final Context context = new InitialContext(jndiProperties);
EntityManagment em = (EntityManagment) context.lookup("java:app/drools-guvnor/EntityManagment");

如果我的bean是无状态和本地bean,那么效果很好。我能为无国籍和本地人做些什么呢?

1 个答案:

答案 0 :(得分:1)

CDI没有JNDI-Name。

您可以自己注册它们,也可以创建一个已注入对象的EJB。然后,您可以查找此EJB并从那里获取您注入的对象。