Quartz定时框架产生行锁的解决方法

来源:互联网 发布:医药行业ims数据分析 编辑:程序博客网 时间:2024/06/10 17:49
    用开源工具包Quartz做定时框架,现在遇到一个问题。

    当多个weblogic节点发布时,定时框架采用的是SELECT * FROM SP_QRTZ_LOCKS WHERE LOCK_NAME = :1 FOR UPDATE获取锁的形式,当能锁住记录则执行定时任务。多个节点执行会产生大量的行锁。


    为了解决这个问题SELECT * FROM SP_QRTZ_LOCKS WHERE LOCK_NAME = :1 FOR UPDATE NOWAIT ,可以解决锁的问题,但会导致任务出错退出。


    最后是通过SELECT * FROM SP_QRTZ_LOCKS WHERE LOCK_NAME = :1 FOR UPDATE skip locked 解决。
原创粉丝点击