ฉันกำลังใช้ EJB Timers ในแอปพลิเคชันของฉัน แต่แอปพลิเคชันค้างทุกครั้งที่ฉันตรวจสอบสถานะตัวจับเวลา
สถานการณ์จำลองที่จะจำลองสิ่งนี้อยู่ด้านล่าง:
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() ดังที่แสดงด้านบน
โปรดแจ้งให้เราทราบวิธีแก้ปัญหาสำหรับปัญหานี้