我有兩個不同的計劃cron作業,每15分鐘運行一次並在60秒內完成作業。在同一enity兩種行爲:看了那麼進程,然後使用JpaRepository保存方法保存entitiy並導致以下錯誤如何避免造成ObjectOptimisticLockingFailureException的兩個計劃作業的衝突
org.springframework.orm.ObjectOptimisticLockingFailureException: Object of class [nl.coin.comp.domain.ServiceProvider] with identifier [105]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) : [nl.coin.comp.domain.ServiceProvider#105]
作爲修復我想避免兩個作業之間的衝突。我正在考慮對兩者使用@Scheduled(fixedelay)不同的固定延遲,但它們也可以重疊。 請幫我這個。
再試一次?這就是您通常在樂觀鎖定失敗時執行的操作。 – Kayaman
感謝您的答覆,但我不想重試,因爲我的應用程序將運行在不同的節點上,並具有相同的分貝,所以如果1節點的工作做的任務,我很好這個異常但在同一個應用程序實例我想避免兩個工作之間的衝突。 – Laxmikant