pessimistic-locking

    1熱度

    1回答

    我正在嘗試JPA支持數據庫鎖定以避免記錄中的併發請求。在我的情況下,我需要使用pesssimistic鎖。我得到了使用以下方法: EntityManager em; ... Map<String,Object> props = new HashMap<String,Object>(); props.put("javax.persistence.lock.timeout", 0); em.

    1熱度

    1回答

    我有一個關於悲觀LockModes,在休眠3.3.2.ga可用兩個問題: 如果我使用鎖一組行lockmode UPGRADE,當你移出事務處理範圍時鎖是否被釋放?如果是的話,我們可以在交易中鎖定解鎖嗎? 對於以下情形,其中LockMode將是有用的 線程1,嘗試獲取鎖和鎖定一組行 線程2的,試圖在獲得鎖同一組行(此時被線程1鎖定)此時線程2得到一個異常,表示行被鎖定 這將是最好的pe ssimis

    3熱度

    2回答

    衆所周知,有兩種鎖定策略:Optimistic vs. Pessimistic locking 悲觀鎖定是,當你鎖定該記錄爲您獨家使用 ,直到你完成它。它比 樂觀鎖定具有更好的完整性,但要求您注意應用程序設計以避免Deadlocks。 而且knonw,即Optimistic Concurrency Control是不一樣的Multi Version Concurrency Control(Orac

    2熱度

    2回答

    最近我一直在學習數據庫事務和一個文章引述如下 JPA通過@Version annotation.When提供自動支持行版本的你有實體@Version annotatted字段或屬性,樂觀鎖會自動啓用。 我的理解是,數據庫隔離級別的策略是使用不同的鎖狀 讀未提交維護:獨家寫鎖 讀致力於實現:使用共享讀鎖和排他寫鎖來實現。 等。所以,事務隔離是通過不同的鎖定實現的,我使用悲觀鎖定來實現。 我的問題是當

    1熱度

    1回答

    我在我的控制器下面的代碼: Item.transaction do item = JobDistribution.lock(true).find(params[:id]) item.update_attributes(status: JobDistribution.statuses[:processing]) respond_to do |format| f

    0熱度

    2回答

    我正在開發一個項目以逐步淘汰遺留應用程序。 在這個過程中,作爲一個臨時解決方案,我們使用數據庫與傳統應用程序集成。 傳統應用程序使用具有可序列化隔離級別的事務。 由於數據庫與遺留應用程序集成,我暫時最好使用相同的悲觀併發模型和可序列化的隔離級別。 這些序列化的事務不僅應該包裝在SaveChanges語句中,還應包含一些數據讀取。 我這樣做是通過 創建一個TransactionScope在我的DbC

    1熱度

    1回答

    正如我所瞭解的,有時稱爲「樂觀併發控制」的「樂觀鎖」實際上沒有鎖。一個典型的實現是CAS(比較和交換)。 所以我想知道爲什麼這仍然被稱爲「樂觀鎖定」?是否有任何歷史原因,因爲這個術語起源於數據庫世界?

    10熱度

    2回答

    我試圖爲在不同的JBoss節點中運行的cron作業實現某種信號量。我試圖使用數據庫(Oracle 11g)作爲鎖定機制,使用一個表來同步不同節點中的cron作業。 表是非常簡單的: CREATE TABLE SYNCHRONIZED_CRON_JOB_TASK ( ID NUMBER(10) NOT NULL, CRONJOBTYPE VARCHAR2(255 Byte

    2熱度

    1回答

    目前我們正在Grails 2.4.4上開發信用交易系統。 我們有一個信貸模型,用於保存用戶的信用額度。 class Credit { BigDecimal amount User user } 問題是金額是不斷扣除/貸記用戶交易。 我們試圖對其進行悲觀鎖定以保持其完整性。但是我們意識到它是瓶頸交易,因爲該用戶一次只能處理一筆交易。 此任何替代方法?我們可以使用任何設計模式

    1熱度

    1回答

    我正在使用Spring-Data-Jpa並使用@Lock註釋(PESSIMISTIC_WRITE)來獲取數據庫(Oracle)鎖定。在理解下列情況是否會導致數據庫死鎖時,我需要幫助。 事務1(PROPAGATION_REQUIRES_NEW,ISOLATION_DEFAULT)一個需要數據庫鎖定而不是說老師表(比如說鎖佔用了id = 1的行)。它試圖在子表中插入一條新記錄,稱爲會議。教師表沒有更新