問題タブ [pessimistic-locking]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
700 参照

java - jOOQ SELECT FOR UPDATE ロックが解放されない

jOOQ を使用して、行に対して SELECT FOR UPDATE を実行し、後続の MERGE 操作を同期しています。ただし、MERGE が完了すると、FOR UPDATE によって保持されたロックは解放されません。私の DataSourceConnectionProvider には、ComboPooledDataSource (接続プール) が供給されています。

私は、接続に関して明示的なことは何もしていません。私がすることはすべて:

1) DSL コンテキストを取得する
2) SELECT FOR UPDATE を実行する .. NO WAIT
3) MERGE を実行
する 4) スレッドを返す

ロックが確実に解除されるようにする方法について何か考えはありますか?

0 投票する
0 に答える
355 参照

java - ネイティブ クエリを Hibernate クエリに変換する

DBテーブルからデータを抽出する次の方法があります

このネイティブ クエリを Hibernate クエリに変換するにはどうすればよいですか (第 2 レベルのキャッシュを無効にしないため)。私はそれに相当するものを読みました

SELECT ... FOR UPDATE

Hibernate では、次の方法で実装できます。

PESSIMISTIC_WRITE

0 投票する
1 に答える
1072 参照

grails - GORM where query での悲観的ロック

GORM の where クエリで悲観的ロックを実現したいと考えています。

何かのようなもの

私は知っています、私は基準APIによってそれを達成することができます:

「where」クエリを介してこれを達成する方法はありますか?

0 投票する
2 に答える
1930 参照

oracle - Hibernate Pessimistic Locking が Oracle データベースで機能しない?

複数のスレッドから呼び出すことができるトランザクション メソッドがあります。

同時呼び出しが発生するのを避けるためStaleStateExceptionに、休止状態で悲観的ロックを使用しましたが、期待どおりに機能せず、StaleStateException. 次に、ログを調べたところ、オブジェクトが適切にロックされていないことがわかりました。これが私のログです。

私の取引方法はここにあります:

ロックを使用した私のDAOメソッドは次のとおりです。

ログからわかるように、requirementCoveragesによって返されたfindAllFromTestIdものはロックされていません。それぞれのロックはrequirementCoverage、開始後にのみ取得されますfor (RequirementCoverage requirementCoverage : requirementCoverages)

StaleStateExceptionその原因は、あるスレッドがリストrequirementCoveragesを取得して各オブジェクトにアクセスしようとしているのに、同時にrequirementCoverages別のスレッドによって変更されていることだと思います。

私は正しいですか?requirementCoverages別のスレッドがアクセスするのをブロックするリストをロックする方法はありますか? どんな助けでも大歓迎です。

0 投票する
1 に答える
731 参照

jpa - java.lang.NoSuchFieldError:ApacheキャメルのjpaConsumerでのPESSIMISTIC_WRITEエラー

camel jpaはデフォルトで私が使用している2.13.0からのPESSIMISTIC_WRITEですが、2つのルートで同じjpaコンポーネントを使用しているときにPESSIMISTIC_WRITEで以下のエラーが発生します

エラー:

私のラクダのコンテキスト

purchaseOrder クラス

0 投票する
1 に答える
290 参照

asp.net-mvc - NHibernate - ASP.NET MVC アクションで重要なトランザクションを処理する方法

重要なトランザクションを処理するアクションがあり、トランザクションを処理する最善の方法がわかりません。

これは私がしなければならないことの簡単な例です:

最初に質問したいのは、この種の操作では、同じ注文に対して同時に複数のリクエストを行うことができる場合 (つまり、同じ注文に対するブラウザーからのクイック リクエスト)、悲観的ロックを使用して 1 つのトランザクションを実際に保証する必要があるかどうかです。時間またはBeginOrderProcess楽観的ロックを使用してほぼ同時に同じ注文に対する2つの同時リクエストで2回呼び出されないようにする方法があります(おそらくより高速になると考えられます)?

第二に、私はそれを完全に間違った方法で行っていますか?このようなケースを処理するためのより良い方法はありますか? 言い換えれば、これをどのように処理すればよいですか?:)

0 投票する
0 に答える
47 参照

grails - hasMany を使用して悲観的ロックを追加する場所は?

このコードがあるとします

ドメイン

コントローラ

子インスタンスごとにロックを追加する必要がありますか、それとも親を取得するときにロックを追加するだけですか?