wsadmin ツールによる接続プール設定の変更

wsadmin スクリプト・ツールを使用して、接続プール設定を変更することができます。

このタスクについて

wsadmin ツールはスクリプトを実行します。wsadmin ツールを使用して、WebSphere® Application Server のインストールと構成、アプリケーション・デプロイメント、およびサーバー・ランタイム操作を管理できます。本製品では、Jacl および Jython スクリプト言語がサポートされます。wsadmin ツールについて詳しくは、『wsadmin スクリプト・クライアントの開始』を参照してください。

wsadmin ツールを使用して、接続プール設定を変更するには、次のようにします。

手順

  1. スクリプト・コマンドを起動します スクリプト・コマンドの実行については、対話式実行から、プロファイル 内での実行まで、さまざまなオプションがあります。

    接続プール設定を変更するには、getAttribute および setAttribute コマンドを使用して、 さまざまな設定オブジェクトに対して実行します。

    例えば、接続タイムアウト設定を変更するには、以下のコマンドを使用します。
    $AdminControl getAttribute $objectname connectionTimeout
    $AdminControl setAttribute $objectname connectionTimeout 200 
    各部の意味は、次のとおりです。
    • $ は、変数名を値で置換する Jacl 演算子です。
    • getAttribute および setAttribute はコマンドです。
    • connectionTimeout は、リセットしている値のオブジェクトです。
  2. 各接続プール設定の Jacl コードの例については、『例: wsadmin ツールを使用した接続プール設定の変更』トピックを参照してください。

例: wsadmin ツールを使用した接続プール設定の変更

wsadmin AdminControl オブジェクトを使用して、接続プール 設定に変更を行うことができます。

wsadmin ツールは、Jacl および Jython 言語のみでスクリプトを実行します。スクリプト・タスクを実行 するには、wsadmin スクリプト・クライアントを開始する必要があります。詳しくは、『wsadmin スクリプト・クライアントの開始』を参照してください。

AdminControl スクリプト・オブジェクトについて詳しくは、『スクリプト管理のための wsadmin スクリプト AdminControl オブジェクトの使用』の項目を参照してください。

接続タイムアウトは、 プールがアクティブであるときに、いつでも変更できます。 接続タイムアウト値を変更すると、接続を待機しているすべての接続要求の接続タイムアウト値が、新しい値から既に待機した時間を差し引いた値に変更され、使用可能な接続がない場合は、接続要求は待ち状態に戻されます。

例えば、接続タイムアウトが 300 秒に変更され、 接続要求が既に 100 秒待機していた場合、 接続要求は、接続が使用可能にならない場合、さらに 200 秒待機します。

$AdminControl getAttribute $objectname connectionTimeout
$AdminControl setAttribute $objectname connectionTimeout 200 

この設定について詳しくは、トピック『接続プール設定』を参照してください。

最大接続数は、滞留接続サポートがアクティブである場合を除き、 いつでも変更できます。

滞留接続サポートがアクティブである場合は、 最大接続数の変更が試行されます。 この試行が失敗すると、IllegalState 例外が発生します。 詳しくは、トピック『接続プール拡張設定』を参照してください。

滞留接続サポートがアクティブでない場合は、 最大接続数が新しい値に変更されます。 新しい値が現行値より大きい場合、 接続の数が新しい値に増加され、 待機しているすべての要求に通知されます。 新しい値が現行値より小さい場合で、経過時間タイムアウトまたはリープ時間が使用される場合、接続の数がプール・アクティビティーに応じて新しい値に減少されます。 経過タイムアウトまたはリープ時間が使用されない場合、 接続の総数を減少させるための自動試行は行われません。 接続の数を新しい最大接続数に手動で減少する場合は、 Mbean 関数 purgePoolContents を使用します。

$AdminControl getAttribute $objectname maxConnections
$AdminControl setAttribute $objectname maxConnections 200 

この設定について詳しくは、トピック『接続プール設定』を参照してください。

最小接続数は、いつでも変更できます。

$AdminControl getAttribute $objectname minConnections
$AdminControl setAttribute $objectname minConnections 200 

この設定について詳しくは、トピック『接続プール設定』を参照してください。

リープ時間は、いつでも変更できます。 リープ時間の間隔は、次回の間隔のときに新しい値に変更されます。

$AdminControl getAttribute $objectname reapTime
$AdminControl setAttribute $objectname reapTime 30 
未使用タイムアウト

未使用タイムアウトは、いつでも変更できます。

$AdminControl getAttribute $objectname unusedTimeout
$AdminControl setAttribute $objectname unusedTimeout 900 

この設定について詳しくは、トピック『接続プール設定』を参照してください。

経過時間タイムアウトは、いつでも変更できます。

$AdminControl getAttribute $objectname agedTimeout
$AdminControl setAttribute $objectname agedTimeout 900 

この設定について詳しくは、トピック『接続プール設定』を参照してください。

パージ・ポリシーは、いつでも変更できます。

$AdminControl getAttribute $objectname purgePolicy
$AdminControl setAttribute $objectname purgePolicy "Failing Connection Only" 

この設定について詳しくは、トピック『接続プール設定』を参照してください。

サージ接続サポートは、 surgeThreshold が -1 より大きく、surgeCreationInterval が 0 より大き い場合に開始されます。サージ保護プロパティーは、いつでも変更できます。

$AdminControl getAttribute $objectname surgeCreationInterval
$AdminControl setAttribute $objectname surgeCreationInterval 30
$AdminControl getAttribute $objectname surgeThreshold
$AdminControl setAttribute $objectname surgeThreshold 15

この設定について詳しくは、トピック『接続プール設定』を参照してください。

stuckTime、stuckTimerTime、 または stuckThreshold プロパティーの変更が試行されます。 この試行が失敗すると、IllegalState 例外が発生します。 この要求中は、プールはアクティブ要求またはアクティブ接続を持つことができません。 滞留接続サポートが開始するには、3 つの滞留プロパティー値がすべて 0 より大きく、最大接続値が 0 より大きくなければなりません。

接続プールが滞留の場合、 滞留または最大接続プロパティーを変更することはできません。 滞留である場合、アクティブ接続があります。

$AdminControl getAttribute $objectname stuckTime
$AdminControl setAttribute $objectname stuckTime 30
$AdminControl getAttribute $objectname stuckTimerTime
$AdminControl setAttribute $objectname stuckTimerTime 15
$AdminControl getAttribute $objectname stuckThreshold
$AdminControl setAttribute $objectname stuckThreshold 10 

この設定について詳しくは、トピック『接続プール拡張設定』を参照してください。

テスト接続サポートは、testConnection プロパティーが true に設定され、 間隔が 0 より大きい場合に開始されます。テスト接続プロパティーは、いつでも変更できます。

$AdminControl getAttribute $objectname testConnection
$AdminControl setAttribute $objectname testConnection 30
$AdminControl getAttribute $objectname testConnectionInterval
$AdminControl setAttribute $objectname testConnectionInterval 15

この設定について詳しくは、トピック『テスト接続サービス』を参照してください。

$AdminControl invoke $objectname freePoolDistributionTableSize
$AdminControl invoke $objectname numberOfFreePoolPartitions
$AdminControl invoke $objectname numberOfSharedPoolPartitions
$AdminControl invoke $objectname gatherPoolStatisticalData
$AdminControl invoke $objectname enablePoolStatisticalData

この設定について詳しくは、トピック『接続プール設定』を参照してください。

プール表示操作は、いつでも変更できます。

$AdminControl invoke $objectname showAllPoolContents
$AdminControl invoke $objectname showPoolContents
$AdminControl invoke $objectname showAllocationHandleList

PurgePool は、いつでも変更できます。

$AdminControl invoke $objectname purgePoolContents normal
$AdminControl invoke $objectname purgePoolContents immediate
データ・ソースと接続ファクトリーの両方で、通常のオプションを選択した場合は、パージ呼び出し後に、パージされたプールは以下のように動作します。
  • 既存の未完了トランザクションは引き続き機能します。
  • 共有接続要求は適用されます。
  • 空き接続はクリーンアップされて破棄されます。
  • 使用中の接続 (トランザクション内の接続) は、接続プールに戻ったときにクリーンアップされて破棄されます。
  • purgePoolContents 呼び出しの前に取得された接続で発行された close() 呼び出しは、同期的に実行されます (JDBC ドライバーが戻るまで待機してから続行します)。
  • (既存の旧接続へのハンドルではなく) 新規接続の要求は適用されます。
組み込み WebSphere リレーショナル・リソース・アダプターに基づいたデータ・ソースでは、即時オプションを選択した場合は、パージ呼び出し後に、パージされたプールは以下のように動作します。
  • purgePoolContents 呼び出し前に取得されたすべての接続で、新規トランザクションを開始できません。代わりに、StaleConnectionException がスローされます。
  • purgePoolContents 呼び出し前に取得されたすべての接続で、新規ハンドルを渡すことができません。代わりに、StaleConnectionException がスローされます。
  • 既存の未完了トランザクションは引き続き機能しますが、パージされた接続で新規アクティビティーを行うと、StaleConnectionException 例外または XAER_FAIL 例外が発生します。
  • purgePoolContents() 呼び出し前に取得されたすべての接続で発行された close() 呼び出しは、非同期的に実行されます (待機時間なし)。
  • (既存の旧接続へのハンドルではなく) 新規接続の要求は適用されます。
  • 接続数は即時にデクリメントされます。このため、アプリケーション・サーバー内の合計接続数が一時的にデータベース内の合計接続数と同期しなくなる場合があります。
組み込み WebSphere リレーショナル・リソース・アダプターに基づいていないデータ・ソースおよびすべての接続ファクトリーでは、即時オプションを選択した場合は、パージ呼び出し後に、パージされたプールは以下のように動作します。
  • purgePoolContents() 呼び出し前に取得されたすべての接続で発行された close() 呼び出しは、非同期的に実行されます (待機時間なし)。
  • (既存の旧接続へのハンドルではなく) 新規接続の要求は適用されます。
  • 接続数は即時にデクリメントされます。このため、アプリケーション・サーバー内の合計接続数が一時的にバックエンド・リソース内の合計接続数と同期しなくなる場合があります。

休止と再開は、いつでも変更できます。

$AdminControl invoke $objectname pause
$AdminControl invoke $objectname resume

wsadmin コマンドは、接続ファクトリーおよびデータ・ソース MBean にアクセスするために使用されます。 MBeans は、接続ファクトリーまたはデータ・ソースのためにプロパティーを検索したり更新したりすることができます。

wsadmin コマンド行から、J2C 接続ファクトリーまたはデータ・ソース Mbean オブジェクト名のリストを入手するために、以下の管理制御コマンドの 1 つを使用します。

$AdminControl queryNames *:type=J2CConnectionFactory,*
$AdminControl queryNames *:type=DataSource,*

DataSource 照会からの出力例:

wsadmin>$AdminControl queryNames *:type=DataSource,*
"WebSphere:name=Default Datasource,process=server1,platform=dynamicproxy,node=
system1Node01,JDBCProvider=Derby JDBC Provider,j2eeType=JDBCDataSource,J2EESe
rver=server1,Server=server1,version=6.0.0.0,type=DataSource,mbeanIdentifier=cell
s/system1Node01Cell/nodes/system1Node01/servers/server1/resources.xml#DataSource
_1094760149902,JDBCResource=Derby JDBC Provider,cell=system1Node01Cell"

J2C 接続ファクトリーまたはデータ・ソース MBean オブジェクト名を 使用することによって、MBean へのアクセスが可能です。 名前には webSphere:name= 式が続きます。 以下の例では、最初のセットで、デフォルトのデータ・ソース名が変数名上に設定されます。 2 番目のセットで、オブジェクト名が変数 objectName 上に設定されます。

デフォルト・データ・ソースの使用例:

- wsadmin>set name [list Default Datasource] 

Default Datasource

- wsadmin>set objectName [$AdminControl queryNames *:name=$name,*]


"WebSphere:name=Default Datasource,process=server1,platform=dynamicproxy,node=
system1Node01,JDBCProvider=Derby JDBC Provider,j2eeType=JDBCDataSource,J2EESe
rver=server1,Server=server1,version=6.0.0.0,type=DataSource,mbeanIdentifier=cell
s/system1Node01Cell/nodes/system1Node01/servers/server1/resources.xml#DataSource
_1094760149902,JDBCResource=Derby JDBC Provider,cell=system1Node01Cell"

これで、objectName を使用して、この Mbean で使用可能な属性および操作についてのヘルプを入手できるようになりました。

$Help attributes $objectName
$Help operations $objectName

属性を入手または設定する、あるいは操作を使用するには、以下のコマンドの 1 つを使用します。

$AdminControl getAttribute $objectName "attribute name"
$AdminControl setAttribute $objectName "attribute name" value 
$AdminControl invoke $objectName "operation"

以下に属性、操作の例を示します。

maxConnections 属性を取得および設定します。If you get no value, a null value, or 
a java.lang.IllegalStateException, the connection factory or data source for this 
MBean has not been created. The connection factory or data source is created at first
JNDI lookup. For this example, the Default DataSource must be used before get, 
set and invoke will work.

wsadmin>$AdminControl getAttribute $objectName maxConnections
10

wsadmin>$AdminControl setAttribute $objectName maxConnections 20

wsadmin>$AdminControl getAttribute $objectName maxConnections
20

Using invoke

wsadmin>$AdminControl invoke $objectName showPoolContents 

PoolManager name:DefaultDatasource
PoolManager object:746354514
Total number of connections: 3 (max/min 20/1, reap/unused/aged 180/1800/0, 
connectiontimeout/purge 1800/EntirePool)
                               (testConnection/inteval false/0, stuck timer/time
/threshold 0/0/0, surge time/connections 0/-1)
Shared Connection information (shared partitions 200)
  No shared connections

Free Connection information (free distribution table/partitions 5/1)
  (2)(0)MCWrapper id 5c6af75b  Managed connection WSRdbManagedConnectionImpl@4b5
a775b  State:STATE_ACTIVE_FREE
  (2)(0)MCWrapper id 3394375a  Managed connection WSRdbManagedConnectionImpl@328
5f75a  State:STATE_ACTIVE_FREE
  (2)(0)MCWrapper id 4795b75a  Managed connection WSRdbManagedConnectionImpl@46a
4b75a  State:STATE_ACTIVE_FREE

  Total number of connections in free pool: 3
UnShared Connection information
  No unshared connections

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_chgconwsadmin
ファイル名:tdat_chgconwsadmin.html