Guiceを介してHttpSessionAttributeListenerにオブジェクトを注入しますか?
-
05-07-2019 - |
質問
構成:Guice 1.0、Apache Tomcat 6.0
現在、Guiceモジュールで設定されたオブジェクトを、このメソッドを使用してサーブレットに手動で挿入しています:
public void init( ServletConfig config ) throws ServletException
{
super.init( config );
ServletContext sc = config.getServletContext();
Injector injector = (Injector) sc
.getAttribute( Constants.Guice.INJECTOR_APP_CONTEXT_KEY );
injector.injectMembers( this );
}
HttpSessionAttributeListenerに同じことを行うには(ライフサイクルメソッドがないため)?
解決
イベントリスナーはライフサイクルイベントに関するものです。たとえば、サーブレットのinit()と同様に、属性がセッションに追加された直後に attributeAdded()
が呼び出されます。
おそらく、HttpSessionにオブジェクトを注入する方が理にかなっています。その場合は、 HttpSessionListener.sessionCreated()
で実行します。
所属していません StackOverflow