Java EE 中的无状态单例

stateless singleton in Java EE

我想在JAVA-EE中定义一个"stateless singleton",可以被多个线程同时访问。

无状态的意思是:Bean-Instance 没有字段。

我应该使用哪个:

版本 1:

@javax.ejb.Singleton
@ConcurrencyManagement(ConcurrencyManagementType.BEAN)
public class MyStatelessSingleton {
..
}

版本 2:

@ApplicationScoped
public class MyStatelessSingleton {
..
}

版本 3:

@javax.inject.Singleton
public class MyStatelessSingleton {
..
}

顺便说一句,我看不出将 "stateless instances" 与一个 "stateless singleton bean" 合并的好处。

我认为这不重要。它是一个单身人士。它 stateless/statefull 的性质仅取决于您如何实施它。 ApplicationScoped 是我最喜欢的。