0

この Web アプリケーションでは、Web サービスのリストからいくつかの情報が必要です。その情報を取得したら、それを に入れApplication Contextます。を使用して、アプリケーションの起動時にこれらの Web サービスを呼び出していますServletContextListener

なんらかの理由で Web サービスがダウンしており、ServletContextListnerいくつかのConnectionTimeOutException.

アプリケーション内のすべてのサーブレットの初期化に影響しますか?

これを保管するのに最適な場所はどこですか?ServletまたはServletContextListener?この情報をinit()サーブレットのメソッドに入れload-startup-value、正の数として設定できます。

教えてください。

4

1 に答える 1

1

これは、最も堅牢なソリューションとは思えません。サービスの中心にスタートアップの依存関係を構築しています。起動時に成功する必要がなく(または実行する必要さえありませんか?)、正常に失敗するように、その初期化をアプリに組み込む方がよいと思います。

理想的には、サービスが回復指向であり、ダウンストリームの障害に直面しても一部の機能を保持できるように、その初期化要求 (おそらく lazt インスタンス化および/またはユーザー要求を介して) を再試行できる必要があります。

于 2012-12-27T16:30:52.383 に答える