wsadmin スクリプトによるメッセージング・リソース構成の自動化

スクリプト・ライブラリーは、ご使用の環境で自動化を支援するための Jython スクリプト・プロシージャーを提供します。 リソース管理スクリプトを使用して、Java™ Messaging Service (JMS) 構成を構成および管理します。

このタスクについて

スクリプト・ライブラリーは、最も一般的なアプリケーション・サーバー管理機能を自動化するために、プロシージャーのセットを提供します。 Jython スクリプト・ライブラリーを使用するには、以下の 3 つの方法があります。
  • wsadmin ツールを使用して、対話モードで、Jython スクリプト・ライブラリーのスクリプトを実行します。 wsadmin ツールを起動し、以下の構文を使用して、スクリプト・ライブラリーに含まれている個々のスクリプトを 実行することができます。
    wsadmin>AdminServerManagement.createApplicationServer("myNode", "myServer", "default")
  • 以下の例に示すように、テキスト・エディターを使用して、Jython スクリプト・ライブラリーの複数のスクリプトを組み合わせます。
    #
    # My Custom Jython Script - file.py
    #
    AdminServerManagement.createApplicationServer("myNode", "Server1", "default")
    AdminServerManagement.createApplicationServer("myNode", "Server2", "default")
    
    # Use one of them as the first member of a cluster
    AdminClusterManagement.createClusterWithFirstMember("myCluster", "APPLICATION_SERVER", "myNode", "Server1")
    
    # Add a second member to the cluster
    AdminClusterManagement.createClusterMember("myCluster", "myNode", "Server3")
    
    # Install an application
    AdminApplication.installAppWithClusterOption("DefaultApplication",
        "..\installableApps\DefaultApplication.ear", "myCluster") 
    
    # Start all servers and applications on the node
    AdminServerManagement.startAllServers("myNode")
    カスタム・スクリプトを保存し、以下に示す構文を使用して、コマンド行から そのカスタム・スクリプトを実行します。
    bin>wsadmin -language jython -f path/to/your/jython/file.py
  • カスタム・スクリプトの作成時に、構文例として Jython スクリプト・ライブラリー・コードを使用します。 スクリプト・ライブラリー内の各スクリプト例は、wsadmin スクリプトを作成する際のベスト・プラクティスを 示します。スクリプト・ライブラリー・コードは、app_server_root/scriptLibraries ディレクトリーにあります。スクリプトは、このディレクトリー内で、機能別にサブディレクトリーとして編成されています。例えば、app_server_root/scriptLibraries/application/V70 サブディレクトリーには、 製品のバージョン 7.0 以降に適用可能なアプリケーション管理タスクを実行するプロシージャーが含まれています。このスクリプト・ライブラリー・パスのサブディレクトリー V70 は、そのサブディレクトリー内のスクリプトがバージョン 7.0 のスクリプトであることを意味しているわけではありません。
スクリプト・ライブラリーのメッセージング・リソース管理プロシージャーは、app_server_root/scriptLibraries/resources/JMS/V70 サブディレクトリーにあります。 ディレクトリーにある各スクリプトは、wsadmin ツールを起動すると自動的にロードされます。 wsadmin ツールの起動時にカスタム Jython スクリプト (*.py) を自動的にロードするには、自動化スクリプトを app_server_root/scriptLibraries ディレクトリー内の新規サブディレクトリーに保存します。
ベスト・プラクティス ベスト・プラクティス: スクリプト・ライブラリー・プロシージャーを使用してカスタム・スクリプトを作成するには、変更されるスクリプトを新規サブディレクトリーに保存してライブラリーが上書きされないようにします。 スクリプト・ライブラリーのスクリプト・プロシージャーは編集しないでください。bprac

スクリプトを使用して、管理機能をさまざまに組み合わせて実行できます。 以下のプロシージャーの組み合わせ例を使用して JMS プロバイダーを作成し、その JMS プロバイダーの JMS リソースを構成します。

手順

  1. オプション: wsadmin ツールを起動します。
    このステップを実行して、wsadmin ツールを起動してサーバーに接続するか、ツールをローカル・モードで実行します。wsadmin ツールを起動する場合は、このトピック内の対話モード例を使用してスクリプトを実行してください。
    • wsadmin ツールを起動してサーバーに接続するには、bin ディレクトリーから以下のコマンドを入力します。
      bin>wsadmin -lang jython
    • wsadmin ツールをローカル・モードで起動して Jython スクリプト言語を使用するには、bin ディレクトリーから以下のコマンドを入力します。
      bin>wsadmin -conntype none -lang jython
    wsadmin ツールが起動すると、システムはスクリプト・ライブラリーのすべてのスクリプトをロードします。
  2. JMS プロバイダーを構成します。
    必要な引数を指定して、スクリプト・ライブラリーの createJMSProvider プロシージャーを実行します。 スクリプトを実行するには、ノード、サーバー、JMS プロバイダー名、外部初期コンテキスト・ファクトリー名、および外部プロバイダー URL を指定します。 オプションで、追加の属性を [["attr1", "value1"], ["attr2", "value2"]] というフォーマットで指定できます。以下の表は、指定する引数の追加情報を示しています。
    表 1. createJMSProvider スクリプトの引数. JMS プロバイダーを作成するには、このスクリプトを実行します。
    引数 説明
    ノード名 対象のノードの名前を指定します。
    サーバー名 対象のサーバーの名前を指定します。
    JMS プロバイダー名 新規 JMS プロバイダーに割り当てる名前を指定します。
    外部初期コンテキスト・ファクトリー名 JMS プロバイダーの初期コンテキスト・ファクトリーの Java クラス名を指定します。
    外部プロバイダー URL 外部 JNDI 検索を行うための JMS プロバイダー URL を指定します。
    以下の例では、ご使用の構成で JMS プロバイダーを作成します。
    bin>wsadmin -lang jython -c "AdminJMS.createJMSProvider("myNode", "myServer", "myJMSProvider", "extInitCF",
     "extPURL", [["description", "testing"], ["supportsASF", "true"], ["providerType", "jmsProvType"]])"
    以下の例に示すように、対話モードを使用してスクリプト・プロシージャーを実行することもできます。
    wsadmin>AdminJMS.createJMSProvider("myNode", "myServer", "myJMSProvider", "extInitCF",
     "extPURL", [["description", "testing"], ["supportsASF", "true"], ["providerType", "jmsProvType"]])
    このスクリプトは、新規 JMS プロバイダーの構成 ID を戻します。
  3. 汎用 JMS 接続ファクトリーを構成します。
    必要な引数を指定して、スクリプト・ライブラリーの createGenericJMSConnectionFactory プロシージャーを実行します。 スクリプトを実行するには、ノード、サーバー、JMS プロバイダー名、新規接続ファクトリーの名前、JNDI 名、および外部 JNDI 名を指定します。 オプションで、追加の属性を [["attr1", "value1"], ["attr2", "value2"]] というフォーマットで指定できます。以下の表は、指定する引数の追加情報を示しています。
    表 2. createGenericJMSConnectionFactory スクリプトの引数. 汎用 JMS 接続ファクトリーを作成するには、このスクリプトを実行します。
    引数 説明
    ノード名 対象のノードの名前を指定します。
    サーバー名 対象のサーバーの名前を指定します。
    JMS プロバイダー名 JMS プロバイダーの名前を指定します。
    接続ファクトリー名 新規の接続ファクトリーに割り当てる名前を指定します。
    JNDI 名 名前空間に接続ファクトリーをバインドする際にシステムが使用する JNDI 名を指定します。
    外部 JNDI 名 キューをアプリケーション・サーバーの名前空間にバインドする際に使用する JNDI 名を指定します。規則として、完全修飾の JNDI 名を使用します。例えば、jms/Name の形式です。ここで、Name はリソースの論理名です。 この名前は、プラットフォームのバインディング情報をリンクするために使用します。 バインディングにより、モジュールのデプロイメント記述子で定義されているリソースと、 プラットフォーム別に JNDI にバインドされている実際の (物理的な) リソースとの関連付けが行われます。
    以下の例では、ご使用の構成で JMS 接続ファクトリーを作成します。
    bin>wsadmin -lang jython -c "AdminJMS.createGenericJMSConnectionFactory("myNode", "myServer", "myJMSProvider",
     "JMSCFTest", "jmsjndi", "extjmsjndi", [["XAEnabled", "true"], ["authDataAlias", "myalias"],
     ["description", "testing"]])"
    以下の例に示すように、対話モードを使用してスクリプト・プロシージャーを実行することもできます。
    wsadmin>AdminJMS.createGenericJMSConnectionFactory("myNode", "myServer", "myJMSProvider", 
      "JMSCFTest", "jmsjndi", "extjmsjndi", [["XAEnabled", "true"], ["authDataAlias", "myalias"],
     ["description", "testing"]])
    このスクリプトは、新規の汎用 JMS 接続ファクトリーの構成 ID を戻します。
  4. 汎用 JMS 宛先を作成します。
    必要な引数を指定して、スクリプト・ライブラリーの createGenericJMSDestination プロシージャーを実行します。 スクリプトを実行するには、ノード、サーバー、JMS プロバイダー名、汎用 JMS 宛先名、JNDI 名、および外部 JNDI名を指定します。 オプションで、追加の属性を [["attr1", "value1"], ["attr2", "value2"]] というフォーマットで指定できます。以下の表は、指定する引数の追加情報を示しています。
    表 3. createGenericJMSDestination スクリプトの引数. 汎用 JMS 宛先を作成するには、このスクリプトを実行します。
    引数 説明
    ノード名 対象のノードの名前を指定します。
    サーバー名 対象のサーバーの名前を指定します。
    JMS プロバイダー名 JMS プロバイダーの名前を指定します。
    汎用 JMS 宛先名 新規の汎用 JMS 宛先に割り当てる名前を指定します。
    JNDI 名 名前空間に接続ファクトリーをバインドする際にシステムが使用する JNDI 名を指定します。
    外部 JNDI 名 キューをアプリケーション・サーバーの名前空間にバインドする際に使用する JNDI 名を指定します。規則として、完全修飾の JNDI 名を使用します。例えば、jms/Name の形式です。ここで、Name はリソースの論理名です。 この名前は、プラットフォームのバインディング情報をリンクするために使用します。 バインディングにより、モジュールのデプロイメント記述子で定義されているリソースと、 プラットフォーム別に JNDI にバインドされている実際の (物理的な) リソースとの関連付けが行われます。
    以下の例では、テンプレートを使用してご使用の構成で汎用 JMS 宛先を作成します。
    bin>wsadmin -lang jython -c "AdminJMS.createGenericJMSDestination("myNode", "myServer", "myJMSProvider",
     "JMSDest", "destjndi", "extDestJndi", [["description", "testing"], ["category", "jmsDestCatagory"],
       ["type", "TOPIC"]]))"
    以下の例に示すように、対話モードを使用してスクリプト・プロシージャーを実行することもできます。
    wsadmin>AdminJMS.createGenericJMSDestination("myNode", "myServer", "myJMSProvider",
     "JMSDest", "destjndi", "extDestJndi", [["description", "testing"], ["category", "jmsDestCatagory"],
       ["type", "TOPIC"]]))
    このスクリプトは、新規の汎用 JMS 宛先の構成 ID を戻します。

タスクの結果

wsadmin スクリプト・ライブラリーは、関連する wsadmin コマンドと同じ出力を戻します。 例えば、AdminServerManagement.listServers() スクリプトは使用可能なサーバーのリストを戻します。AdminClusterManagement.checkIfClusterExists() スクリプトは、クラスターが存在する場合は true を、クラスターが存在しない場合は false を値として戻します。コマンドが期待される出力を戻さない場合、スクリプト・ライブラリーは、そのスクリプトが正常に実行されたときに値 1 を戻します。スクリプトが失敗すると、スクリプト・ライブラリーは、例外とともに値 -1 およびエラー・メッセージを戻します。

デフォルトでは、システムにより failonerror オプションが無効になっています。 このオプションを有効にするには、以下の例に示すように、スクリプト・プロシージャーの最後の引数として true を指定します。
wsadmin>AdminApplication.startApplicationOnCluster("myApplication","myCluster","true")

次のタスク

スクリプト・ライブラリーのスクリプト・プロシージャーを組み合わせることにより、カスタム・スクリプトを作成してご使用の環境を自動化します。 カスタム・スクリプトは、app_server_root/scriptLibraries ディレクトリーの新規サブディレクトリーに保存してください。


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



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