我想在JAVA-EE中定义一个“无状态单例” ,可以由多个线程同时访问。
我应该使用哪个:
版本1:
@javax.ejb.Singleton
@ConcurrencyManagement(ConcurrencyManagementType.BEAN)
public class MyStatelessSingleton {
..
}
版本2:
@ApplicationScoped
public class MyStatelessSingleton {
..
}
版本3:
@javax.inject.Singleton
public class MyStatelessSingleton {
..
}
顺便说一句,我看不到合并“无状态实例”而不是一个“无状态单例bean”的好处。
答案 0 :(得分:1)
我认为这并不重要。它是单身。它的无状态/全状态性质仅取决于实现方式。 ApplicationScoped
是我的最爱。