我有一個Java EE項目,其中包含一個包含遠程有狀態Bean的EJB。如何訪問偵聽器中的有狀態bean
我有一個GUI的企業應用程序。
我在我的GUI中有監聽器,但我的問題是,我無法訪問我的Bean在按鈕偵聽器(以檢查用戶名和密碼)。
我使用netBeans和glassFish。
查找豆類我用:
ctx.lookup("java:comp/env/BeanStateful");
但很顯然,聽者改變的背景下,它不工作了。
我有一個Java EE項目,其中包含一個包含遠程有狀態Bean的EJB。如何訪問偵聽器中的有狀態bean
我有一個GUI的企業應用程序。
我在我的GUI中有監聽器,但我的問題是,我無法訪問我的Bean在按鈕偵聽器(以檢查用戶名和密碼)。
我使用netBeans和glassFish。
查找豆類我用:
ctx.lookup("java:comp/env/BeanStateful");
但很顯然,聽者改變的背景下,它不工作了。
偵聽器可能運行在沒有JavaEE上下文的線程上。嘗試從主線程獲取java:comp/env上下文,然後僅從偵聽器中查找()bean名稱。例如:
// Member variables
private Context _javaCompEnvContext;
...
// Main thread
_javaCompEnvContext = ctx.lookup("java:comp/comp/env");
...
// Listener thread
BusinessIntf bean = _javaCompEnvContext.lookup("BeanStateful");
你知道,我知道我不知道什麼時候使用RMI會話會話。這是在規範覆蓋的地方?或者說,規範中的哪些地方覆蓋了?有人知道嗎? – 2011-05-02 16:23:07
SFSB將在可配置的時間量後過期(EJB 3.1中的@StatefulTimeout),但它們也可以顯式刪除(@Remove方法)。 SFSB生命週期獨立於本地和遠程,它也獨立於HTTP會話。有些供應商比其他供應商更好地將HTTP會話與SFSB集成在一起。 – 2011-05-02 20:54:41
因此,GUI是一個訪問遠程EJB的外部Java桌面程序。嗯,你可以發佈一些代碼嗎?您是否能夠在偵聽器之外訪問遠程EJB **? – 2011-05-02 14:28:48