我有票務訂單的有狀態ejb。我想實現一個功能,如果用戶選擇門票但不支付他們,這是特定的時間段,例如10分鐘。所以我實現了當用戶提交選擇票據時,他們從可用票據的數據庫中刪除。現在我需要設置一個計時器,在超時時間檢查付款是否已完成(可能通過數據庫),如果沒有 - 將返回數據庫的票據。解決方案爲具有狀態ejb的TimerService
我會這樣做在ejb票務訂單,但它是一個有狀態的,和EJBTimer服務不支持有狀態的bean。你會如何建議去做?
是否有可能委託處理超時的任務來分離無狀態bean?在這種情況下,它只會創建用@Timeout註釋的計時器和方法。我不知道如何將選定票據的所有細節傳遞給無狀態bean,因爲它們不能保存爲bean屬性(導致bean無狀態)。我只能將它們傳遞給創建計時器的方法,但必須在超時時調用的方法中使用它們。
P.S.我正在使用glassfish 3.1
謝謝你的幫助。