0
想象一下,我們想要在午夜每天運行一個簡單的Spring批處理作業。但是我們有兩個節點的集羣。我們希望這個作業只運行一次 - 因此,第一個啓動的節點將完成作業,第二個節點將跳過處理。Spring批處理 - 重複作業成功完成
這應該是很容易做到的,因爲Spring Batch的持有它在兩個節點相同的數據庫狀態。它通常有效,但不幸的是,有時兩個節點同時執行作業並完成作業。然後我可以在數據庫中看到重複的作業執行(相同的參數)。
我想我找到了爲什麼會發生 - 只是工作執行開始檢查是否有作業實例已經在數據庫之前,如果沒有,然後創建一個新的行。但是,當兩者同時檢查數據庫時,都發現沒有任何東西可以創建並運行相同的執行。
我們必須有兩個節點相同的配置。
我不想同步在一個JVM中,但也在計算機之間.... – user3190916