サブクラスContextLoaderListener
:
public class NotifyingContextLoaderListener extends ContextLoaderListener {
@Override
public void contextInitialized(ServletContextEvent event) {
try {
super.contextInitialized(event);
//generate success event
}
catch (RuntimeException e) {
//generate failure event
throw e;
}
}
}
そして、あなたのweb.xml
の代わりContextLoaderListener
でそれを使用する:成功イベントを生成するためのソリューションは、完全に安全ではないことを
<listener>
<listener-class>com.example.NotifyingContextLoaderListener</listener-class>
</listener>
注意。アプリケーション/コンテキスト全体ではなく、ProductPostInitializer
Beanが正常に作成されたときにイベントを生成します。これは、後でコンテキスト起動が失敗した場合でもイベントが生成されることを意味します(例えば、ProductPostInitializer
に基づくBeanは起動に失敗します)。
上記の解決策はこの問題を解決します。