WebLogic のコンカレンシー・ストラテジーは、エンティティー・タイプのエンタープライズ Bean への同時アクセスをコンテナーで管理する方法を指定します。
この規則は、weblogic-ejb-jar.xml ファイル内に <concurrency-strategy> エレメントがあることを検出します。
WebSphere traditional にマイグレーションする必要のある 4 つの WebLogic コンカレンシー・ストラテジーがあります。
- Exclusive では、Bean がトランザクションに関連付けられているとき、
WebLogic Server が排他ロックをエンティティー Enterprise JavaBeans(TM) (EJB) インスタンスに配置します。
EJB インスタンスのその他の要求は、トランザクションが完了するまでブロックされます。
- ReadOnly コンカレンシー・ストラテジーは、読み取り専用エンティティー Bean に対して使用されます。
これはインスタンスをデータベースからロードした後に、各トランザクション用にコピーを使用可能にして、複数の要求が同時に進行するようにします。 read-timeout-seconds という関連エレメントは、以下の間の秒数を指定します。
ejbLoad()
呼び出し。 値をゼロにすると、読み取り専用 Bean をデータベースから再ロードしないことが指定されます。
- Database コンカレンシー・ストラテジーでは、WebLogic がエンティティー Bean のロック要求を基礎となるデータ・ストアに委任します。
WebLogic はトランザクションごとに個別のエンティティー Bean インスタンスを割り振り、
ロックとキャッシュをデータベースで処理できるようにします。
これはデフォルト・オプションです。
- Optimistic コンカレンシー・ストラテジーは、トランザクション中に、EJB コンテナーまたはデータベースにロックを保持しません。
EJB コンテナーは、トランザクションをコミットする前に、トランザクションが更新したデータが変更されていないことを確認します。
更新データが変更されていた場合、EJB コンテナーは、トランザクションをロールバックします。
このルールでは、自動修正は weblogic-ejb-jar.xml で定義された同時実行ストラテジを に移行します。 WebSphere に定義された同時実行ストラテジーに移行します。
排他的
Exclusive WebLogic ストラテジーでは、以下の WebSphere(R) Application Server Bean キャッシュのオプションが対応する Bean に設定されます。
- 「活動化 (Activate at)」が「1 回 (ONCE)」に設定されます。
- 「ロード (Load at)」が「活動化 (ACTIVATION)」に設定されます。
これらのパラメーターは、ejbLoad 関数の呼び出しを防止して、Bean インスタンスへのアクセスを直列化します。
このオプションはキャッシュ内の永続状態を保つことによってメモリーの使用効率を向上させますが、
Bean インスタンスが通常、同時にアクセスされなければ応答時間を改善することができます。
これは EJB 仕様での、キャッシュ操作のオプション A です。
ReadOnly
ReadOnly WebLogic ストラテジーの場合、以下の WebSphere Application Server ビーンキャッシュオプションが対応する ビーンに設定されます:
- アクティベート・アットは ONCEに設定される。
- でのロードは INTERVALに設定される。
- 「再ロード間隔 (Reload interval)」が再ロードの間の適切な秒数に設定されます。
この値は、 WebLogic <read-timeout-seconds>要素から取られる。 秒です。 <read-timeout-seconds>が。 WebLogic, が0に設定されている場合、 ejbLoad はインスタンスが最初にキャッシュに取り込まれたときにのみ呼び出される。
WebSphere Application Server で、再ロード間隔の整数値を 0 にすると、コンテナーは Bean を再ロードしなくなります。
Database
データベース WebLogic ストラテジーの場合、以下の WebSphere Application Server ビーンキャッシュオプションが対応する ビーンに設定されます:
- 「活動化 (Activate at)」が「トランザクション (TRANSACTION)」に設定されます。
- 「ロード (Load at)」が「トランザクション (TRANSACTION)」に設定されます。
これは WebSphere Application Server Bean キャッシュのデフォルトです。 これはデフォルトである、 を明示的に設定する必要はありません: しかし、自動修正では明示的に設定されます。
このストラテジーは、EJB 仕様でキャッシュ操作のオプション C とも呼ばれます。
Optimistic
Optimistic WebLogic ストラテジーでは、WebSphere でオプティミスティック・ロックが使用されます。
アクセス・インテントは、WebSphere 拡張ファイルで wsOptimisticUpdate に設定されます。 また また、CMPマップの作成時に、weblogic-cmp-rdbms-jar これらの列は、変更をデータベースにコミットする前に更新がチェックされます。 これらのカラムは、変更をデータベースにコミットする前に更新がチェックされます。 変更が検出された場合、トランザクションはロールバックされます。