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端點?