0
我正在使用spring啓動將應用程序模塊集成到我們的應用程序中。我遇到了用戶在事務期間關閉瀏覽器的邊緣情況之一。在Spring啓動時只執行一次觸發器/任務,並在運行期間取消註冊任務
當用戶關閉瀏覽器時,我需要更新狀態爲失敗的事務表。但不幸的是,我不能作爲商家網站的網址。所以當一個條目進入事務表(Hibernate)時,我想寫一個觸發器(使用Spring引導)。
如果用戶在進行付款時關閉瀏覽器,觸發器應在超時後(約30分鐘)更新事務狀態。
如果交易是成功的失敗,那麼我不想執行觸發器。
我無法弄清楚如何在Spring-boot中做到這一點,所以我使用普通的Java timerTask,它將在30分鐘後執行一次。使用彈簧引導有更好的方法嗎?
new java.util.Timer().schedule(
new java.util.TimerTask() {
@Override
public void run() {
LOGGER.info("Trigger for Transaction id "+transactionId);
}
},
1000 * 60 * 30 // 30 mins
);
因此,每一分鐘的工作都會碰到數據庫,檢查交易狀態是否爲空,交易時間> 30分鐘 –
這就是我要做的......索引交易狀態和時間,所以它將是一個毫不費力的查詢。 –