When to use @Singleton annotation of Jersey? - デフォルトジャージーによってRESTエンドポイント - シングルトンRequestScoped
は すべての要求のためのリソースクラスの新しいインスタンスを作成します。したがって、Jerseyリソースクラスに注釈を付けない場合、 は暗黙的に
@RequestScoped
スコープを使用します。
@RequestScoped
エンドポイントはさまざまな理由により適しています。ステートレスであり、リクエストごとに新しいインスタンスを提供します。私はhttp://www.benmccann.com/hibernate-with-jpa-annotations-and-guiceの例に基づいてDAOを実装しているので、ThreadLocal<EntityManager>
キャッシュ(Jersey, Guice and Hibernate - EntityManager thread safety)から受信されているので、EntityManager
オブジェクトは@RequestScoped
という環境でのみ異なっています。
一方、Jerseyエンドポイントに@Singleton
と注釈が付けられているアプリケーションに直面しています。しかし、アノテーションを削除してもアプリケーションの動作やロジックは変更されないようです。
RESTエンドポイントのデフォルト@RequestScoped
の代わりに@Singleton
を使用する必要がありますか?