2
アプリケーションでEJBタイマを使用していますが、タイマステータスを確認するたびにアプリケーションがハングします。ステータスを確認するときにEJBタイマーがハングアップする
これを複製するシナリオは次のとおりです。
1)タイマーを開始します。
2)タイムアウトメソッドでは、別のクラスメソッドを呼び出し、そこで30分間スリープします。
3)30分が経過する前に、下記の方法でタイマーの状態を確認してください。
public String getTimerStatus() {
String returnStatus = "Stopped";
for (Object obj : timerService.getTimers()) {
Timer t = (Timer) obj;
try {
String scheduled = (String) t.getInfo();
if (scheduled.equals(TIMER_NAME)) {
returnStatus = "Running";
}
} catch (Exception e) {
e.printStackTrace();
}
}
return returnStatus;
}
4)アプリケーションt.getInfo()メソッドが呼び出されたときに上記のように、ハング。
この問題の解決方法を教えてください。
さらにコードを表示できますか?私の考えは、あなたがコンテナによって管理されるべきスレッドを管理しているということです。これはあなたが経験しているトラブルを引き起こすかもしれません – perissf