プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Server JMSリソースの管理
12c (12.2.1.3.0)
E90330-04
目次へ移動
目次

前
次

6 WLSTを使用したJMSサーバーとJMSシステム・モジュール・リソースの管理

他のほとんどのWebLogicアーティファクトと同様に、WebLogic Scripting Tool (WLST)は、WebLogic ServerのJMSサーバーおよびJMSシステム・モジュール・リソースの作成や管理に使用されるコマンドライン・スクリプト・インタフェースです。スクリプティング・ツールの詳細は、『WebLogic Scripting Toolの理解』WebLogic Scripting Toolの使用に関する項およびWLSTサンプル・スクリプトに関する項を参照してください。

この章の内容は次のとおりです。

JMSシステム・モジュールとサブデプロイメントの理解

JMSシステム・モジュールは、config.xmljms-system-resource MBeanで記述します。

jms-system-resource MBeanの基本的なコンポーネントは以下のとおりです。

  • name: モジュールの名前。

  • target: モジュールをターゲット指定するサーバー、クラスタ、または移行可能ターゲット。

  • sub-deployment: JMSシステム・モジュール・リソース(キュー、トピック、接続ファクトリなど)をグループ化し、サーバー・リソース(JMSサーバー・インスタンス、WebLogicサーバー・インスタンス、クラスタなど)にターゲット指定するメカニズム。

  • descriptor-file-name: システム・モジュール・ファイルのパスとファイル名。

システム・モジュールのJMSリソースは、weblogic-jmsmd.xmlスキーマに準拠するモジュール記述子ファイル内に配置されます。図6-1myModule-jms.xmlというモジュールには、接続ファクトリとキューのJMSシステム・リソース定義が含まれています。sub-deployment-name要素は、myModule-jms.xmlファイル内のJMSリソースをグループ化して、config.xml内のtargetsにターゲット指定するために使用します。WLSTを使用する場合は、sub-deployment-name要素の値を指定する必要があります。サブデプロイメントの詳細は、「JMSシステム・モジュールとリソースのサブデプロイメントのターゲット指定」を参照してください。図6-1では、sub-deployment-name DeployToJMSServer1を使用して、myModule-jmsモジュールの接続ファクトリCConfacとキューCQueueのグループ化とターゲット指定をしています。

JMSリソースの使用方法の詳細は、「JMS構成リソースとは」を参照してください。

図6-1 サブデプロイメント・アーキテクチャ

図6-1の説明が続きます
「図6-1 サブデプロイメント・アーキテクチャ」の説明

JMSサーバーとJMSシステム・モジュール・リソースの作成方法

WLSTを使用してJMSサーバーとJMSシステム・モジュールを作成するには、編集セッションの開始、JMSシステム・モジュールの作成およびJMSサーバー・リソースの作成の基本タスクを含めます。

編集セッションの確立後、次の手順でJMSサーバーとシステム・モジュール・リソースを構成します。

  1. リソースを構成するサーバーのWebLogic Server MBeanオブジェクトを取得します。次に例を示します。
    servermb=getMBean("Servers/examplesServer")
        if servermb is None:
            print '@@@ No server MBean found'
    
  2. システム・リソースを作成します。次に例を示します。
    jmsMySystemResource = create(myJmsSystemResource,"JMSSystemResource")
    
  3. このシステム・リソースをWebLogic Serverインスタンスにターゲット指定します。次に例を示します。
    jmsMySystemResource.addTarget(servermb)
    
  4. システム・リソース・オブジェクトを取得します。次に例を示します。
    theJMSResource = jmsMySystemResource.getJMSResource()
    
  5. モジュールのリソース(キュー、トピック、接続ファクトリなど)を作成します。次に例を示します。
    connfact1 = theJMSResource.createConnectionFactory(factoryName)
    jmsqueue1 = theJMSResource.createQueue(queueName)
    
  6. リソース属性を構成します。次に例を示します。
    connfact1.setJNDIName(factoryName)
    jmsqueue1.setJNDIName(queueName)
    
  7. システム・リソースのサブデプロイメント名を作成します。「JMSシステム・モジュールとサブデプロイメントについて」を参照してください次に例を示します。
    connfact1.setSubDeploymentName('DeployToJMSServer1')
    jmsqueue1.setSubDeploymentName('DeployToJMSServer1')
    
  8. JMSサーバーを作成します。次に例を示します。
    jmsserver1mb = create(jmsServerName,'JMSServer')
    
  9. JMSサーバーのターゲットとしてWebLogic Serverのインスタンスまたはクラスタを指定します。次に例を示します。
    jmsserver1mb.addTarget(servermb)
    
  10. sub-deployment-name要素に指定した値を使用して、サブデプロイメント・オブジェクトを作成します。これにより、モジュール内のシステム・リソースが、config.xmlsub-deployment要素にグループ化されます。次に例を示します。
    subDep1mb = jmsMySystemResource.createSubDeployment('DeployToJMSServer1')
    
  11. サブデプロイメントをサーバー・リソース(JMSサーバー・インスタンス、WebLogic Serverインスタンス、クラスタなど)にターゲット指定します。次に例を示します。
    subDep1mb.addTarget(jmsserver1mb)

例6-1 JMSシステム・リソースを作成するWLSTスクリプト

"""
This script starts an edit session, creates a JMS Server, 
targets the jms server to the server WLST is connected to and creates
a JMS System module with a jms queue and connection factory. The 
jms queues and topics are targeted using sub-deployments. 
"""

import sys
from java.lang import System

print "@@@ Starting the script ..."

myJmsSystemResource = "CapiQueue-jms"
factoryName = "CConFac"
jmsServerName = "myJMSServer"
queueName = "CQueue"

url = sys.argv[1]
usr = sys.argv[2]
password = sys.argv[3]

connect(usr,password, url)
edit()
startEdit()

//Step 1
servermb=getMBean("Servers/examplesServer")
    if servermb is None:
        print '@@@ No server MBean found'

else:
    //Step 2
    jmsMySystemResource = create(myJmsSystemResource,"JMSSystemResource")

    //Step 3
    jmsMySystemResource.addTarget(servermb)

    //Step 4
    theJMSResource = jmsMySystemResource.getJMSResource()

    //Step 5
    connfact1 = theJMSResource.createConnectionFactory(factoryName)
    jmsqueue1 = theJMSResource.createQueue(queueName)

    //Step 6
    connfact1.setJNDIName(factoryName)
    jmsqueue1.setJNDIName(queueName)

    //Step 7
    jmsqueue1.setSubDeploymentName('DeployToJMSServer1')  
    connfact1.setSubDeploymentName('DeployToJMSServer1')

    //Step 8
    jmsserver1mb = create(jmsServerName,'JMSServer')

    //Step 9
    jmsserver1mb.addTarget(servermb)

    //Step 10
    subDep1mb = jmsMySystemResource.createSubDeployment('DeployToJMSServer1')

    //Step 11
    subDep1mb.addTarget(jmsserver1mb)
.
.
.

JMSサーバーとJMSシステム・モジュール・リソースの変更およびモニター方法

MBeanから利用できる適切なメソッドを使用すると、JMSオブジェクトおよび属性を変更したりモニターしたりできます。

  • set、target、untargetおよびdeleteメソッドを使用してJMSオブジェクトおよび属性を変更します。

  • getメソッドを使用してJMS実行時オブジェクトをモニターします。

例6-2に、JMSオブジェクトを変更するサンプルWLSTスクリプトを示します。

『WebLogic Scripting Toolの理解』のMBeanのナビゲート(WLSTオンライン)に関する項を参照してください。

例6-2 JMSオブジェクトを変更するWLSTスクリプト

.
.
print '@@@ delete system resource'
jmsMySystemResource = delete("CapiQueue-jms","JMSSystemResource")
print '@@@ delete server'
jmsserver1mb = delete(jmsServerName,'JMSServer')
.
.
.

WLSTを使用したJMSリソース構成時のベスト・プラクティス

WLSTを使用したJMSサーバーおよびJMSシステム・モジュール・リソースの構成時のベスト・プラクティスについて説明します。

  • MBeanオブジェクトを操作する前に、Null MBeanオブジェクト(サーバー、JMSサーバー、モジュールなど)をトラップします。

  • サブデプロイメント名は理解しやすい名前にします。たとえば、サブデプロイメント名をDeployToJMSServer1にすると、この名前のすべてのサブデプロイメントがJMSServer1にデプロイされることが分かります。