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分钟 –
这就是我要做的......索引交易状态和时间,所以它将是一个毫不费力的查询。 –