Java ejb获取当前正在执行的bean

Java ejb获取当前正在执行的bean,java,jakarta-ee,ejb,jboss5.x,ejb-2.x,Java,Jakarta Ee,Ejb,Jboss5.x,Ejb 2.x,我有几个无状态bean和一些由这些bean调用的服务类。我不能直接将bean实例传递给那个服务类 有没有办法获取当前正在执行的bean实例?我只是想知道是否存在任何现有的机制,所以我不需要编写拦截器和相关逻辑来将bean实例保存到某个地方 更具体地说: public class MyBean implements MyBeanInterface, CommonBeanInterface { public void businessMethod() { SomeServ

我有几个无状态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传递一些信息。

我认为没有API来识别调用该服务的bean。但是请注意,如果服务与bean位于同一容器中(即不涉及远程调用),它们将在同一线程上执行。因此,您可以使用ThreadLocal传递一些信息。

是的,
ThreadLocal
是我想要使用的,但我认为有一个现有的API是的,
ThreadLocal
是我想要使用的,但我认为有一个现有的API