0

Web アプリケーションがエラーや例外なしで Tomcat に正常にデプロイされたら、通知を受け取りたいですか?

servletContextListener を作成することはできcontextInitialized()ますが、Web アプリケーションが開始される直前にメソッドが呼び出され、要件が解決されません。

4

3 に答える 3

2
tmp=$(mktemp -t catalina.XXXXXXX) || exit 136
trap 'rm "$tmp"' 0
trap 'exit 255' 2 15
tail -n 200 catalina.out >"$tmp"
if grep -q error "$tmp"; then
    cat "$tmp"
    exit 1
fi
exit 0
于 2013-02-02T16:17:12.223 に答える
0

要件が単純な場合は、ServletContextListener で単一のスレッド/実行可能ファイルを作成するだけで十分簡単です。contextInitialized() でスレッドを作成して開始し、contextDestroyed() でスレッドをシャットダウンします。. Executors.newSingleThreadScheduledExecutor() によって作成された ScheduledExecutorService を使用します。Executor に渡す Runnable は、BlockingQueue から読み取ります。

詳細については、Tomcat にデプロイされた Web アプリケーションのスレッドの作成を参照してください。

于 2013-02-02T07:28:11.903 に答える
0

最後にロードするサーブレットを追加するのはどうでしょうか。

<load-on-startup>99</load-on-startup>

このサーブレットで、操作を行う別のサーブレットを呼び出しますか? このように、2 番目のサーブレットが応答するので、アプリが完全に読み込まれていることを確認します。

起動手順で発生する例外を保存するためのシングルトンがあると便利です。これにより、通知を受け取ったり、アプリのサニティ チェックに使用したりできます。

乾杯。

于 2013-02-02T16:25:29.177 に答える