将Singleton会话Bean注入无状态会话Bean

Gat*_*het 5 java stateful-session-bean java-ee-6

通过在无状态会话Bean中使用Singleton会话Bean,是否允许(和良好实践)在我们的应用程序中保存一些共享信息?

SSB将被注入SLSB.

@Stateless
public class MySLSB {

    @Inject
    MySSB mySSB;
Run Code Online (Sandbox Code Playgroud)

-

@Singleton
@Lock(READ)
public class MySSB implements Serializable {

    private static final long serialVersionUID = 1L;
Run Code Online (Sandbox Code Playgroud)

jav*_*dev 6

它不仅仅是允许的.在无状态或有状态EJB中使用Singleton注入将允许您在SLSB中调用SSB上的业务方法.其中一个重要的优点是使用SSB并发功能.在您的示例中,对SSB的所有方法调用都将被锁定在Read上,这意味着所有线程都将在读取模式下访问SSB方法,除非线程在写入时持有锁定.