この章の内容は次のとおりです。
JMSシステム・モジュールは、config.xmlのjms-system-resource MBeanで記述します。
jms-system-resource MBeanの基本的なコンポーネントは以下のとおりです。
name: モジュールの名前。
target: モジュールをターゲット指定するサーバー、クラスタ、または移行可能ターゲット。
sub-deployment: JMSシステム・モジュール・リソース(キュー、トピック、接続ファクトリなど)をグループ化し、サーバー・リソース(JMSサーバー・インスタンス、WebLogicサーバー・インスタンス、クラスタなど)にターゲット指定するメカニズム。
descriptor-file-name: システム・モジュール・ファイルのパスとファイル名。
システム・モジュールのJMSリソースは、weblogic-jmsmd.xmlスキーマに準拠するモジュール記述子ファイル内に配置されます。図6-1のmyModule-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構成リソースとは」を参照してください。
WLSTを使用してJMSサーバーとJMSシステム・モジュールを作成するには、編集セッションの開始、JMSシステム・モジュールの作成およびJMSサーバー・リソースの作成の基本タスクを含めます。
編集セッションの確立後、次の手順でJMSサーバーとシステム・モジュール・リソースを構成します。
例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)
.
.
.
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')
.
.
.