0

現在、パイプライン内のすべてのバンドルがまだ適切に機能しているかどうかを確認するウォッチドッグを作成しています。(これは分散環境で行われるため、ネットワーク障害、ソフトウェア障害、サーバーの 1 つに障害が発生する可能性があります...)

バンドルは N 個のサービス (N は任意) にバインドできるため、チェックは次の方法を使用して再帰的に行う必要があります。

START at the first step in the pipeline
Use getServicesInUse to get the services references of the next step
use getBundle() on the gathered ServiceRerefence objects
REPEAT until we arrive at the bundle we want to stop at

そうすれば、パイプラインのすべてのバンドル オブジェクトを取得して (おそらく)、それらが正しく機能しているかどうか (または、まだ到達可能かどうか) を確認できます。

Bundle b = ...
if(b.getState() == Bundle.ACTIVE) ...;

トリックを行いますか?もちろん、これを必要な try catch 句で囲んで、ハードウェア/ネットワークの障害を検出します。

4

1 に答える 1