JBoss 7.1.1.Final を使用しています。ここにスタートアップシングルトンがあります。起動時に何かを初期化し、シャットダウン時に自分のものを終了/クリーンアップします。しかし、今では、終了後 1 秒間、やりたいことが何でもできることがわかりました。1 秒後にはアプリケーションがすぐに離れてしまい、実際のクリーンアップには 1 秒では不十分な場合があります。
コード:
@Singleton
@Startup
public class ShutdownTest {
@PostConstruct
public void initialize() {
LOG.info("Initialization");
}
@PreDestroy
public void terminate() {
for(;;) {
LOG.info("loop in terminate...");
Tools.sleepQuietly(100); // just sleeps for 100 milliseconds
}
}
}
このクラスは起動時に初期化を報告しますが、終了時に 10 倍の出力が得られます。この後、JBoss は停止します。
一部の PreDestroy メソッドがまだ実行されている場合でも、JBoss が自分自身を強制終了するまで、この時間をどのように構成できますか?
現在、Eclipse から JBoss を起動および停止しています (ポーラーは Web ポートに設定されています)。