WebLogic JMS のコンフィグレーションと管理
![]() |
![]() |
![]() |
![]() |
WebLogic Scripting Tool (WLST) は、JMS サーバおよび JMS システム リソースの作成や管理に使用できるコマンドライン スクリプト インタフェースです。『WebLogic Scripting Tool ガイド』の「WebLogic Scripting Tool の使用」および「WLST サンプル スクリプト」を参照してください。
モジュールは、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 を使用して、接続ファクトリ CConfac
とキュー CQueue
を myModule-jms
モジュール内でグループ化して対象指定しています。
JMS リソースの使用方法の詳細については、『WebLogic JMS のコンフィグレーションと管理』の「JMS リソースのコンフィグレーションについて」を参照してください。
WLST を使用して JMS リソースを作成するには、以下のタスクを実行する必要があります。
編集セッションを確立したら、以下の手順で JMS サーバと JMS システム リソースをコンフィグレーションします。
servermb=getMBean("Servers/examplesServer")
if servermb is None:
print '@@@ No server MBean found'
jmsMySystemResource = create(myJmsSystemResource,"JMSSystemResource")
jmsMySystemResource.addTarget(servermb)
theJMSResource = jmsMySystemResource.getJMSResource()
connfact1 = theJMSResource.createConnectionFactory(factoryName)
jmsqueue1 = theJMSResource.createQueue(queueName)
connfact1.setJNDIName(factoryName)
jmsqueue1.setJNDIName(queueName)
connfact1.setSubDeploymentName('DeployToJMSServer1')
jmsqueue1.setSubDeploymentName('DeployToJMSServer1')
jmsserver1mb = create(jmsServerName,'JMSServer')
jmsserver1mb.addTarget(servermb)
sub-deployment-name
要素に指定した値を使用して、サブデプロイメント オブジェクトを作成します。これにより、モジュール内のシステム リソースが、config.xml
の sub-deployment
要素にグループ化されます。次に例を示します。
subDep1mb = jmsMySystemResource.createSubDeployment('DeployToJMSServer1')
subDep1mb.addTarget(jmsserver1mb)
コード リスト 6-1 JMS リソースを作成する WLST スクリプト
"""
このスクリプトでは、編集セッションを開始してJMS サーバを作成し、
この JMS サーバを WLST が接続されているサーバに対象指定し、
JMS キューおよび接続ファクトリを含む JMS システム モジュールを作成する。
JMS キューおよび JMS トピックは、サブデプロイメントを使用して対象指定される。
"""
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()
//手順 1
servermb=getMBean("Servers/examplesServer")
if servermb is None:
print '@@@ No server MBean found'
else:
//手順 2
jmsMySystemResource = create(myJmsSystemResource,"JMSSystemResource")
//手順 3
jmsMySystemResource.addTarget(servermb)
//手順 4
theJMSResource = jmsMySystemResource.getJMSResource()
//手順 5
connfact1 = theJMSResource.createConnectionFactory(factoryName)
jmsqueue1 = theJMSResource.createQueue(queueName)
//手順 6
connfact1.setJNDIName(factoryName)
jmsqueue1.setJNDIName(queueName)
//手順 7
jmsqueue1.setSubDeploymentName('DeployToJMSServer1')
connfact1.setSubDeploymentName('DeployToJMSServer1')
//手順 8
jmsserver1mb = create(jmsServerName,'JMSServer')
//手順 9
jmsserver1mb.addTarget(servermb)
//手順 10
subDep1mb = jmsMySystemResource.createSubDeployment('DeployToJMSServer1')
//手順 11
subDep1mb.addTarget(jmsserver1mb)
.
.
.
MBean から利用できる適切なメソッドを使用すると、JMS オブジェクトおよび属性を変更したりモニタしたりできます。
詳細については、『WebLogic Scripting Tool ガイド』の「MBean の移動と編集」を参照してください。
コード リスト 6-2 JMS オブジェクトを変更する WLST スクリプト
.
.
print '@@@ delete system resource'
jmsMySystemResource = delete("CapiQueue-jms","JMSSystemResource")
print '@@@ delete server'
jmsserver1mb = delete(jmsServerName,'JMSServer')
.
.
.
この節では、WLST を使用して JMS サーバおよびリソースをコンフィグレーションするときのベスト プラクティスを示します。
![]() ![]() |
![]() |
![]() |