簡體   English   中英

ejb獲取當前正在執行的bean

[英]ejb get currently executing bean

我有幾個無狀態bean和該bean調用的一些服務類。 我不能直接將bean實例傳遞給該服務類。

有什么方法可以獲取當前正在執行的bean實例? 我只是想知道是否存在任何現有的機制,因此我將不需要編寫攔截器和相關的邏輯來將bean實例保存在某個地方。

更加具體:

public class MyBean implements MyBeanInterface, CommonBeanInterface {
     public void businessMethod() {
         SomeService service = ... // service is somehow obtained
         service.doWork();
     }
}

public class SomeServiceImpl implements SomeService {
     public void doWork() {
          CommonBeanInterface currentBean = getCurrentBean(); // its implementation I need
     }
}

因此,在服務類中,我需要獲取調用此服務的bean實例。

任何信息都有幫助!

我認為沒有API可以識別調用該服務的bean。 但是請注意,如果服務與Bean位於同一容器中(即不涉及遠程調用),它們將在同一線程上執行。 因此,您可以使用ThreadLocal傳遞一些信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM