ロックの管理

ロック・マネージャーはイベント順序付けのロックを処理します。esAdmin コマンドを使用すると、 ロック・マネージャーのロックのリスト、削除、またはアンロックが可能です。

ロック・マネージャーは、イベント・ロックに対する以下の 2 つの操作をサポートします。 同じロックに対する要求は、受信順に キューに入れられます。ロックはデフォルトの WebSphere Process Server データベースおよびデータ・ソースに保持され、 サーバーに障害が発生した場合でもロックを回復できるようにされます。
esAdmin コマンドにより、現在ロック・マネージャーでアクティブなロックおよび キューに入っているロックを管理できます。以下のセクションでは、esAdmin の 詳細な使用法について説明します。
注: 分割されたデータベースを使用している場合は、 デプロイメント・ターゲットごとに 1 回ずつ esAdmin コマンドを 実行します。クラスター環境では、任意のクラスターで実行できます。 ただし、デプロイメント・マネージャーで実行すると 予測不能な結果になることがあります。

ロックのリスト

esAdmin コマンドは、 ロック・マネージャーのアクティブなロックとキューに入っているロックをすべてリストできるほか、特定のモジュール、 コンポーネント、またはメソッドに関連したロックのみをリストすることもできます。

esAdmin では 以下のいずれかのメソッドを使用します。
  • listAll - ロック・マネージャーのアクティブなロックおよびキューに入っているロックをすべてリストします。
  • listLocks - ロック・マネージャーのアクティブなロックおよびキューに入っているロックの サブセットをリストします。以下の 1 つ以上のパラメーターを指定すると、 ロックのリストがフィルターに掛けられて返されます。
    • moduleName
    • componentName
    • methodName
    例えば、
    esAdmin listLocks CustMod CustComp
    を使用すると、CusMod モジュールの 一部である CustComp コンポーネントについて、アクティブなロックとキューに入っているロックのリストが 返されます。
このコマンドは、以下のような出力を返します。
表 1. esAdmin listLocks コマンドの出力例
ロック ID シーケンス ID 所有者 ID モジュール コンポーネント メソッド システム・メッセージ ID
7564504 2 695376 CustMod CustComp createCust A09- 427BE_5002
7564504 3 232757 CustMod CustComp createCust ADF- 053RT_5004
上記の出力において、 シーケンス ID はロック要求がキューに入った順序です。シーケンスで最低の数値が現在 ロックを保持しています。システム・メッセージ ID は、 対応するサービス統合バス・メッセージの ID を指定します。 この情報を使用すると、ロック要求と宛先のメッセージとを関連付けることができます。

ロックの解放

esAdmin コマンドを使用して、単一のロックを解放するには、以下のようにします。
esAdmin unlock lockId
ここで、lockIdesAdmin listLock または esAdmin listAll コマンドによって戻される固有のロック ID です。

このコマンドは、デッドロックが発生した場合に役立ちます。 デッドロック状態のロックを解放し、そのロックをキュー内の次のロック要求に 認可できます。

ロックの削除

1 つ以上のロックを削除する必要がある場合は、 最初にロックに関連するモジュールを停止します。次に、以下のように esAdmin コマンドを 使用してデータベースからロックを削除します。
esAdmin deleteLocks moduleName
宛先にイベント・メッセージの処理を再開させるには、 モジュールを再始動する必要があります。

esAdmin deleteLocks コマンドを使用するときには 十分に注意してください。指定したモジュールのすべてのロックが ロック・マネージャー・データベースから削除されます。

関連資料
esAdmin コマンド

(c) Copyright IBM Corporation 2005, 2006. All rights reserved.
(c) Copyright IBM Japan 2006
このインフォメーション・センターでは、Eclipse テクノロジー (http://www.eclipse.org) が採用されています。