如何在侦听器中访问有状态bean

时间:2011-05-02 14:23:18

标签: java java-ee ejb

我有一个包含远程有状态Bean的EJB的Java EE项目。

我有一个带GUI的企业应用程序。

我的GUI中有监听器,但我的问题是我无法在按钮监听器中访问我的Bean(检查用户名和密码)。

我使用netBeans和glassFish。

要查找我使用的bean:

ctx.lookup("java:comp/env/BeanStateful");

但显然听众改变了背景,它不再起作用了。

1 个答案:

答案 0 :(得分:1)

侦听器可能正在一个没有JavaEE上下文的线程上运行。尝试从主线程获取java:comp / env Context,然后只从侦听器中查找()bean名称。例如:

// Member variables
private Context _javaCompEnvContext;
...

// Main thread
_javaCompEnvContext = ctx.lookup("java:comp/comp/env");
...

// Listener thread
BusinessIntf bean = _javaCompEnvContext.lookup("BeanStateful");