[英]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.