繁体   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