問題があり、この状況で database isolationtype == Serializable を使用することを考えていますが、一連の記事を読んだ後でも、それが以下の問題の解決策であるとは確信していません。
セットアップ:
Weblogic cluster > 2 servers
Simple Java JDBC
Servlets, EJB Session beans 2.0
テーブルがLAN
あり、クライアントからの入力に基づいて一致する値を選択します。
LAN
lan_id | name | some_values | is_available
-------------------------------------
13 | ss | 3234 | yes
12 | sssd| 3234 | yes
14 | sssd| 3234 | yes
15 | ssaa| 3234 | yes
ビジネス ロジックでは、LAN から一致する行を選択し、別のテーブルを保存する必要があります。LAN_Assignment
LAN_割り当て
lan_id | lan_assg_id | some other columns
-------------------------------------------
select ステートメントを実行すると、LAN テーブルから一致する行を取得し、それを lan_assignment テーブルに割り当てます。
ここで、クライアント (クラスター内の任意のサーバーである可能性があります) から 5 つの要求が送信された場合、それらはすべて最初に使用可能な LAN を選択し、それを他のテーブルに保存します。
LAN を取得した最初の要求が、クライアントからの 2 番目の要求によって選択されないようにするにはどうすればよいですか?
PS: select ステートメントとビジネス ロジックは、ここで説明したように単純ではありません。LANを選んでLan_assignmentに保存するなど条件はいろいろありますが、
ありがとうございました