ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server JMSの構成と管理
11gリリース1 (10.3.6)
B61636-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

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

この章では、WebLogic Scripting Tool (WLST)の使用方法について説明します。これは、JMSサーバーおよびJMSシステム・モジュール・リソースの作成と管理に使用できるコマンドライン・スクリプト・インタフェースです。『Oracle WebLogic Scripting Tool』のWebLogic Scripting Toolの使用に関する項およびWLSTサンプル・スクリプトに関する項を参照してください。

JMSシステム・モジュールとサブデプロイメントについて

JMSシステム・モジュールは、config.xmljms-system-resource MBeanで記述します。jms-system-resource MBeanの基本的なコンポーネントは以下のとおりです。

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

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

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

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

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

WLSTを使用して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オブジェクトおよび属性を変更したりモニターしたりできます。

詳細は、『Oracle 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システム・モジュール・リソースを構成するときのベスト・プラクティスを示します。