单例 Java EE bean 如何获取对其自身的引用?

nec*_*cer 0 ejb java-ee-6 ejb-3.1 java-ee-7 jakarta-ee

我有一个单例 bean,该@PostConstruct方法需要调用@Asynchronous其自身内部的方法。它不能直接使用来执行此操作,this因为这会使调用同步。我不能自己@Inject,因为它是圆形的。

小智 5

您可以使用此类类型的包装器:

@Singleton
public class SingletonBean {



@Stateless
public static class AsynchronousMethodLauncher{
    @EJB
    private SingletonBean singletonBean;

    public void launch(){
        singletonBean.asynchronousMethod();
    }
}

    @EJB
    AsynchronousMethodLauncher launcher;

    @Asynchronous
    public void asynchronousMethod(){
        //Place your code here
    }

    public void yourMethod(){
        launcher.launch();
    }
}
Run Code Online (Sandbox Code Playgroud)