When to use @Singleton annotation of Jersey? -REST端点 - 辛格尔顿VS RequestScoped
默认情况下,新泽西州创建资源类的 每个请求一个新的实例。所以如果你不注释泽西资源类,它就会隐含地使用
@RequestScoped
作用域。
@RequestScoped
端点看起来更适合各种原因。它是无状态的,为每个请求提供新的实例。我已经实现了基于http://www.benmccann.com/hibernate-with-jpa-annotations-and-guice例如因此提供EntityManager
对象,因为它们是从ThreadLocal<EntityManager>
缓存(Jersey, Guice and Hibernate - EntityManager thread safety)只获得了在@RequestScoped
环境是不同的DAO的。
在另一方面,我也遇到因新泽西州端点标注为@Singleton
应用。但似乎删除注释不会改变应用程序的行为/逻辑。
当@Singleton
应该用来取代默认的@RequestScoped
对REST端点?