wsadmin スクリプトによる WAR クラス・ローダー・モードの変更
スクリプトと wsadmin ツールを使用して、アプリケーションの WAR クラス・ローダー・モードを変更できます。
始める前に
このタスクを開始する前に、wsadmin ツールが稼働している必要があります。 詳しくは、wsadmin スクリプト・クライアントの開始のトピックを参照してください。
このタスクについて
重要: アプリケーションの実行中に
アプリケーション設定を変更すると、アプリケーションは再始動されます。
スタンドアロン・サーバーでは、
変更内容を保存してからアプリケーションが再始動されます。複数サーバー製品では、
変更内容を保存してからアプリケーションが再始動され、
アプリケーションがインストールされているノード上のファイルが同期されます。マルチサーバー製品で同期が発生する時期を制御するには、「コンソール設定」ページの「変更をノードと同期する」を選択解除します。
アプリケーションの WAR クラス・ローダー・モードを変更するには、 以下のステップを実行します。
手順
- deployment.xml 文書の参照を設定します。 以下に例を示します。
- Jacl を使用:
set deployments [$AdminConfig getid /Deployment:my_application/]
出力例:
application_name(cells/cell_name/applications/application_name.ear/deployments/ application_name|deployment.xml#Deployment_1276887608391)
- Jython を使用:
deployments = AdminConfig.getid('/Deployment:my_application/')
表 1. デプロイメント構成の値です。. 以下の表で、getid コマンドのエレメントについて説明します。 エレメント 定義 set Jacl コマンドです。 deployments 変数名です。 $ 変数名を値で置換する Jacl 演算子です。 AdminConfig WebSphere Application Server の構成を表すオブジェクトです。 getid AdminConfig コマンドです。 Deployment 属性です。 my_application profile_root/config/cells/cell_name/applications/ ディレクトリーにあるアプリケーションです。 - Jacl を使用:
- deployment.xml 文書内の deployedObject 属性への参照を設定し、それを deployedObject 変数に割り当てます。 以下に例を示します。
- Jacl を使用:
set deploymentObject [$AdminConfig showAttribute $deployments deployedObject]
出力例:
(cells/cell_name/applications/application_name.ear/deployments/ application_name|deployment.xml#ApplicationDeployment_1276887608391)
- Jython を使用:
deploymentObject = AdminConfig.showAttribute(deployments, 'deployedObject')
表 2. デプロイメント構成の値です。. 以下の表で、このコマンドのエレメントについて説明します。 エレメント 定義 set Jacl コマンドです。 deploymentObject 変数名です。 $ 変数名を値で置換する Jacl 演算子です。 AdminConfig WebSphere Application Server の構成を表すオブジェクトです。 showAttribute AdminConfig コマンドです。 deployments deployment.xml 文書が割り当てられる変数です。 deployedObject deployment.xml 文書内の属性です。 - Jacl を使用:
- deployedObject 属性のモジュールをリストし、そのリストを myModules 変数に設定します。 以下に例を示します。
- Jacl を使用:
set myModules [lindex [$AdminConfig showAttribute $deploymentObject modules] 0]
出力例:
(cells/cell_name/applications/application_name.ear/deployments/ application_name|deployment.xml#WebModuleDeployment_1276887608391) (cells/cell_name/applications/application_name.ear/deployments/ application_name|deployment.xml#EJBModuleDeployment_1276887608391)
- Jython を使用:
myModules = AdminConfig.showAttribute(deploymentObject, 'modules') myModules = myModules[1:len(myModules)-1].split(" ") print myModules
出力例:
['(cells/cell_name/applications/application_name.ear/deployments/ application_name|deployment.xml#WebModuleDeployment_1276887608391)', '(cells/cell_name/applications/application_name.ear/deployments/ application_name|deployment.xml#EJBModuleDeployment_1276887608391)']
表 3. デプロイメント構成の値です。. 以下の表で、このコマンドのエレメントについて説明します。 エレメント 定義 set Jacl コマンドです。 myModules 変数名です。 $ 変数名を値で置換する Jacl 演算子です。 AdminConfig WebSphere Application Server の構成を表すオブジェクトです。 showAttribute AdminConfig コマンドです。 deployedObject deployment.xml 文書内の属性です。 modules deployment.xml 文書内の属性です。 - Jacl を使用:
- Web モジュールを見つけ、クラス・ローダーのモードを設定します。 以下に例を示します。
- Jacl を使用:
foreach module $myModules { if {[regexp WebModuleDeployment $module] == 1} { $AdminConfig modify $module {{classloaderMode mode}}}}
- Jython の使用
for module in myModules: if (module.find('WebModuleDeployment')!= -1): AdminConfig.modify(module, [['classloaderMode', 'mode']])
表 4. デプロイメント構成の値です。. 以下の表で、このコマンドのエレメントについて説明します。 エレメント 定義 foreach Jacl コマンドです。 for Jython コマンドです。 モジュール (module) 変更されるオブジェクトです。 $ 変数名を値で置換する Jacl 演算子です。 myModules 変数名です。 regexp 正規表現を使用する関数で、以前のコマンド内での検索のために使用されます。 module.find 正規表現を使用する関数で、以前のコマンド内での検索のために使用されます。 AdminConfig WebSphere Application Server の構成を表すオブジェクトです。 modify AdminConfig コマンドです。 classloaderMode deployment.xml 文書内の属性です。 mode WAR モジュールに対して設定したいクラス・ローダー・モード値です。 モード値は PARENT_FIRST または PARENT_LAST のいずれかです。 詳しくは、クラス・ローダーに関する資料を参照してください。 - Jacl を使用:
- 構成を保存します。例を以下に示します。
- Jacl を使用:
$AdminConfig save
- Jython を使用:
AdminConfig.save()
- Jacl を使用:
- 属性値に対して行った変更を、showall コマンドを使用して確認します。 以下に例を示します。
- Jacl を使用:
$AdminConfig showall $module
- Jython を使用:
AdminConfig.showall(module)
出力例:
{applicationDeployment (cells/cell_name/applications/application_name.ear/deployments/ application_name|deployment.xml#ApplicationDeployment_1276887608391)} {classloader (cells/cell_name/applications/application_name.ear/deployments/ application_name|deployment.xml#Classloader_1276887608392)} {classloaderMode mode} {configs {}} {deploymentId 1} {startingWeight 10000} {targetMappings {(cells/cell_name/applications/application_nameear/deployments/ application_name|deployment.xml#DeploymentTargetMapping_1276887608392)}} {uri WAR_file_name.war}
- Jacl を使用:
関連概念:


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_warclmode
ファイル名:txml_warclmode.html