BundleActivator
がバックグラウンドスレッドを実行し、そのバックグラウンドスレッドに回復不能なエラーが発生した場合はどうすればよいですか?
public class Activator implements BundleActivator
{
private Thread t;
@Override
public void start(BundleContext context) throws Exception
{
t = new Thread(new Runnable(){
@Override
public void run(){
while (!Thread.interrupted()){
// do something which may throw a runtime exception
}
}
});
t.start();
}
@Override void stop(BundleContext context) throws Exception
{
t.interrupt();
t.join();
}
}
この例では、スレッドが停止し、バンドルが効果的に停止されて実行されていないことをOSGiフレームワークに通知するにはどうすればよいですか?