私はTomcat7Webアプリケーションを持っており、2つの異なるものがありServletContextListener
ます。
例:
リスナーA
public class ListenerA implements ServletContextListener {
public void contextInitialized(ServletContextEvent sce){
ObjectA objectA = new ObjectA();
context.setAttribute("objectA", objectA);
}
...
}
リスナーB
public class ListenerB implements ServletContextListener {
public void contextInitialized(ServletContextEvent sce){
ObjectB objectB = new ObjectB();
context.setAttribute("objectB", objectB);
}
...
}
web.xml
...
<listener>
<description>ListenerA</description>
<listener-class>com.example.web</listener-class>
</listener>
<listener>
<description>ListenerB</description>
<listener-class>com.example.web</listener-class>
</listener>
...
¿出現順序はweb.xml
ロードプロセスに影響しますか、それとも異なるスレッドでロードされますか?
ListenerBのコンテキストからObjectAを取得できるかどうか知りたいのですが。いつでも両方のリスナーを一意のリスナーにマージできるので、同じリスナーにオブジェクトAとBの両方を含めることができますが、これが可能かどうかを知りたいです。
attributeAdded
インターフェイスから使用するオプションがあることはわかっていますServletContextAttributeEvent
が、これで作業を実行できますか、それともListenerBがListenerAの前にロードされた場合に失敗する可能性がありますか?