java - 将单例 session Bean 注入(inject)无状态 session Bean

标签 java java-ee-6 stateful-session-bean

是否允许(和良好做法)通过在无状态 session Bean 中使用单例 session Bean 在我们的应用程序中保存一些共享信息?

SSB 将被注入(inject) SLSB。

@Stateless
public class MySLSB {

    @Inject
    MySSB mySSB;

-

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

    private static final long serialVersionUID = 1L;

最佳答案

超出允许范围。在无状态或有状态 EJB 中使用单例注入(inject)将允许您在 SLSB 中调用 SSB 上的业务方法。 一个微不足道的优势是使用 SSB 并发功能。 在您的示例中,您对 SSB 的所有方法调用都将锁定为读取,这意味着您的所有线程都将在读取模式下访问您的 SSB 方法,除非线程持有写入锁定。

关于java - 将单例 session Bean 注入(inject)无状态 session Bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32196891/

相关文章:

java - 我如何知道对象实例使用什么类型的变量?

java - Jersey + Guice + Tomcat 在与根目录以外的其他内容一起提供时生成 404

java - 在有状态的 ejb 扩展中通过查找找到的 JPA 实体不受管理

java - Java Azure Functions 中的 JNDI 查找(或等效项)

java - : "JPA Facet File Change Event Handler" 期间发生内部错误

jms - Glassfish 3.1 JMS 队列监控和统计

mysql - 注入(inject)的服务不断抛出 NullPointerException

java - 有状态 session Bean 钝化和序列化 - EJB

java - GlassFish 如何将客户端请求映射到 session

java - 在自己的静态初始化器中创建类的对象