WebLogic Platform アプリケーションのデプロイメント
![]() |
![]() |
![]() |
![]() |
ドメインとは、WebLogic Server の基本的な管理単位です。WebLogic Platform アプリケーションを実行するには、適切な WebLogic Platform リソースを格納するドメインを作成する必要があります。WebLogic Server ドメインの詳細については、『WebLogic Server のコンフィグレーションと管理』の「WebLogic Server ドメインの概要」を参照してください。
この節では、WebLogic ドメインをコンフィグレーションするために使用できるツールの一覧を示します。また、WebLogic リソース、クラスタ、および対象のコンフィグレーションに関する考慮事項や、サーバを設定して起動する方法について説明します。
次の例では、スクリプトを使用して WebLogic ドメインをコンフィグレーションする方法について説明します。スクリプトを使用すると、さまざまな対象環境でドメインの作成を制御したり繰り返したりすることが容易になります。
注意 : 先に進む前に、プロモーション プランを確認して、アプリケーションで必要とされる各リソースのコンフィグレーションと割り当て要件を理解してください。プロモーション プランの詳細については、「プロモーションのプランニング」を参照してください。
対象ドメインのコンフィグレーションに使用するツールは、対象ドメインを新規に作成する場合と、既存のドメインの場合で異なります。次の表にツールをまとめます。
|
|
|
WebLogic ドメインを作成するとき、システム リソースの対象をコンフィグレーションおよび指定する必要があります。表 3-2 に、プロダクション環境におけるリソースのコンフィグレーションと割り当てに関するヒントを示します。
注意 : コンフィグレーション ウィザードと WLST Offline には、マルチサーバ ドメイン (例 : クラスタ化されたドメイン) のリソースをコンフィグレーションするプロセスを合理化する自動コンフィグレーション機能があります。「コンフィグレーション ウィザードと WLST Offline を使用した自動コンフィグレーション」を参照してください。
|
|
|
|
|
|
|
|
|
|
||
|
||
|
||
|
||
|
||
|
|
|
クラスタをコンフィグレーションするとき、IP アドレスまたは DNS 名を使用して、クラスタとそのメンバー (クラスタを構成するサーバ インスタンス) の名前とアドレスに関する情報を指定します。名前とアドレスをコンフィグレーションするときは、次のことを考慮してください。
ExternalDNSName
属性を使用して、サーバの外部 DNS 名を定義する。ただし、クライアントがデフォルトのチャネルと T3 を使って WebLogic Server にアクセスしている場合は、ExternalDNSName
属性を使用しないでください。 上記の詳細については、『WebLogic Server クラスタ ユーザーズ ガイド』の「WebLogic クラスタの設定」の「始める前に」の「名前とアドレスを識別する」を参照してください。
コンフィグレーション ウィザードと WLST Offline には、マルチサーバ ドメイン (例 : クラスタ化されたドメイン) のリソースをコンフィグレーションするプロセスを合理化する自動コンフィグレーション機能があります。
ドメイン作成時に管理対象サーバを追加すると、コンフィグレーション ウィザードと WLST Offline によってリソースがそのサーバに自動的に配分されます。
WLST Offline を使用してドメインにキューを作成すると、各キューが分散キューとして自動的にコンフィグレーションされ、関連するメンバー キューがクラスタの各管理対象サーバに作成されます。この処理は、ドメインの作成時、クラスタを作成する前に行う必要があります。この機能は、既存のドメインを更新する場合には対応していません。
詳細については、『コンフィグレーション ウィザードの使い方』の「対象のコンフィグレーション」の「アプリケーションとサービスの自動コンフィグレーション」を参照してください。
定義済みリソースのデフォルトの対象のリストについては、以下を参照してください。
注意 : クラスタの自動コンフィグレーションは、ドメインの作成時にクラスタを追加する場合、または拡張テンプレートを使用してドメインを更新するときにドメインを追加する場合にのみ機能します。この機能は、(拡張テンプレートを使用しないで) 既存のドメインを更新する場合には対応していません。
コンフィグレーション ウィザードと WLST Offline は、単一クラスタ ドメインの自動コンフィグレーションに対応しています。クラスタを 2 つ作成するときは、「例 : WLST Offline を使用して、マルチ クラスタ Platform ドメインをコンフィグレーションする方法」の説明に従って、リソース、サービス、およびアプリケーションを割り当てる対象を手動で修正する必要があります。
Web サービスが非同期リクエストに対応するようにコンフィグレーションされている場合、WebLogic Workshop は、リクエストを処理するために、非同期リクエスト キューとエラー キューを開発環境に作成します。キュー要素のペアごとに、対応する JMS キューのペアを対象サーバ上に作成し、非同期エラー キューを非同期キューに関連付ける必要があります。
WebLogic Workshop では、非同期キューが <con:async-request-queue>
および <con:async-request-error-queue>
という要素名で /META-INF/wlw-manifest.xml
ファイルに定義されます。キューの名前の形式は、web_app
.queue.AsyncDispatcher
と web_app
.queue.AsyncDispatcher_error
です。ここで、web_app
には Web アプリケーションの名前が入ります。
対象ドメインがクラスタ化されている場合は、キューを分散キューとしてコンフィグレーションする必要があります。複数のクラスタを使用している場合は、クラスタごとに一連のキューを追加作成する必要があります。
注意 : WLST Offline を使用してドメインにキューを作成すると、各キューが分散キューとして自動的にコンフィグレーションされ、関連するメンバー キューがクラスタの各管理対象サーバに作成されます。この処理は、ドメインの作成時、クラスタを作成する前に行う必要があります。この機能は、既存のドメインを更新する場合には対応していません。詳細については、「コンフィグレーション ウィザードと WLST Offline を使用した自動コンフィグレーション」を参照してください。
非同期ディスパッチャ キューを設定する例については、「アプリケーションで必要な非同期ディスパッチャ キューをコンフィグレーションする」を参照してください。
wlw-config.xml
コンフィグレーション ファイルの <async-dispatch-policy>
要素を使用すると、非同期リクエストのサーバ ディスパッチ ポリシーをコンフィグレーションできます。<async-dispatch-policy>
要素は、プロジェクトの非同期リクエストをサーバ定義のディスパッチ ポリシーに関連付けます。ディスパッチ ポリシーは、EJB がどのサーバ実行スレッド プールで実行されるかを指定します。この要素に指定される値は、AsyncDispatcher および AsyncErrorDispatcher メッセージ駆動型 Bean 用に weblogic-ejb-jar.xml
コンフィグレーション ファイルの <async-dispatch-policy>
エントリを生成するために使用されます。詳細については、WebLogic Workshop オンライン ヘルプの <asynch-dispatch-policy>
要素の説明を参照してください。
起動モードを prod
に設定します。開発モードとプロダクション モードの違いについては、『コンフィグレーション ウィザードの使い方』の「コンフィグレーションの起動モードの相違点」を参照してください。サーバの起動モードをコンフィグレーションする例については、「ドメイン オプションを設定する」を参照してください。
使用しているプラットフォームでサポートされている SDK のうち、プロダクションレベルのパフォーマンス用として最適化されている SDK を設定します。必ず、クラスタのすべてのサーバ インスタンスで同じ SDK をコンフィグレーションしてください。特定のプラットフォームでサポートされている Java SDK のリストについては、『WebLogic Platform 8.1 でサポート対象のコンフィグレーション』を参照してください。SDK をコンフィグレーションする例については、「ドメイン オプションを設定する」を参照してください。
対象ドメインをコンフィグレーションした後、リモート マシン上に管理対象サーバのディレクトリを設定し、必要に応じてノード マネージャをコンフィグレーションする必要があります。
リモート マシンで稼働する管理対象サーバのディレクトリを設定するには
prod
に設定してください。ノード マネージャを使用する場合、リモートの管理対象サーバのディレクトリでは、管理サーバのディレクトリにあるファイルをすべて必要とするわけではありません。その理由は、ドメイン内にあるすべての管理対象サーバのコンフィグレーション情報を管理サーバで維持しているからです。
wlw-runtime-config.xml
コンフィグレーション ファイルを使用する場合は、そのファイルをクラスタ内の各管理対象サーバのルート ディレクトリにコピーする必要があります。
|
|
|
|
|
|
|
ノード マネージャを使用して管理対象サーバをリモートで起動する場合は、管理対象サーバごとに ServerStart
属性をコンフィグレーションする必要があります。
次の表に、管理対象サーバごとに設定する必要のある属性を定義します。WebLogic Server Administration Console を使用してサーバに設定できる起動属性については、『コンフィグレーション リファレンス』の「ServerStart」を参照してください。
|
|
次の表に、デフォルトのドメインで必要な CLASSPATH
設定を示します。
注意 : クラスパスの値は環境に依存するので、下の表で定義されている値と異なる場合もあります。お使いの環境の CLASSPATH
情報にアクセスするには、管理サーバを起動して、コマンド ウィンドウ (stdout
) に表示される CLASSPATH
情報を取得してください。
|
|
|
|
|
|
|
|
|
ノード マネージャを使用すると、管理サーバとの位置関係にとらわれずに、管理対象サーバに対して一般的な操作を実行できます。ノード マネージャを使用して次の操作を行うことができます。
ノード マネージャの機能を利用するには、管理対象サーバをホストする各マシンでノード マネージャ プロセスを実行して、ノード マネージャを次のようにコンフィグレーションする必要があります。
たとえば、「リソースのコンフィグレーションと割り当てに関する考慮事項」の説明に従い、ノード マネージャを使用するマシンをコンフィグレーションして、リスン アドレスに localhost 以外の値を指定する必要があります。
プロダクション環境でノード マネージャをコンフィグレーションするために必要な各手順の詳細については、『WebLogic Server のコンフィグレーションと管理』の「ノード マネージャのコンフィグレーション、起動、および停止」の「ノード マネージャのコンフィグレーション」の「コンフィグレーション チェックリスト (プロダクション環境)」を参照してください。
次の例では、WLST Offline を使用して、「単一クラスタ Platform ドメインの例」の説明に従い、単一のクラスタが含まれる WebLogic Platform ドメインを作成する方法について説明します。
WLST Offline の詳細については、次の URL にある WLST Offline キットに付属のドキュメントと例を参照してください。https://codesamples.projects.dev2dev.bea.com/servlets/Scarab?id=97
WLST Offline スクリプトで変数を定義し、WLST Offline を使用してその変数を参照することで、さまざまな対象環境におけるスクリプトの再利用を容易に行えるようになります。たとえば、スクリプト内に変数値を「ハードコード化」することも、コマンドラインから WLST Offline スクリプトに値を渡すこともできます。
たとえば、WebLogic ホーム ディレクトリ、ドメイン名、およびドメイン テンプレート名を指定するために、WLST Offline スクリプト内で次の変数を定義すると
weblogic_home="/bea/weblogic81"
domain_template="platform.jar"
値に代わりに、スクリプト内の変数を参照できます。たとえば、次のようにします。
readTemplate(
weblogic_home
+
'/common/templates/domains
'+
domain_template
)
注意 : 読みやすくするために、以下のコードでは、変数ではなく実際の値を使用しています。
次のコードは、ドメイン作成用の Basic WebLogic Platform Domain テンプレートを開き、cmo
変数を使用してドメイン名を設定します。cmo
変数にはカレント管理オブジェクト (Current Management Object) が格納されます。これは WLST Offline を使用する際の移動先であるコンフィグレーション Bean インスタンスに設定されます。この場合の移動先は、すべてのコンフィグレーション管理オブジェクトのルート DomainMBean
になります。
readTemplate('/bea/weblogic81/common/templates/domains/platform.jar')
次のコードは、コンフィグレーション済みの管理アカウント用のパスワードを設定します。
cd('/Security/platform/User/weblogic')
cmo.setPassword('password
')
次のコードは、リスン アドレスとリスン ポートを設定し、SSL を有効にし、SSL ポートを設定することで、管理サーバをコンフィグレーションします。管理サーバのコンフィグレーションに関する考慮事項を確認するには、「リソースのコンフィグレーションと割り当てに関する考慮事項」を参照してください。
cd('/Server/cgServer')
cmo.setListenAddress('host')
cmo.setListenPort(9301)
cd('SSL/cgServer')
cmo.setEnabled(1)
cmo.setListenPort(9302)
次のコードは、アプリケーションの必要に応じて、一連の非同期ディスパッチャ キューとその関連エラー キューをコンフィグレーションします。非同期ディスパッチャ キューを作成する必要があるかどうかを決定するには、wlw-manifest.xml
ファイルの内容を確認します。このファイルには、「WebLogic Workshop ランタイムで必要なアプリケーション リソースの追加」の説明のとおり、アプリケーションで参照しているサーバ リソースに関する情報があります。
queueNames = 'IntApp.queue.AsyncDispatcher', \
'PortApp.queue.AsyncDispatcher'# ドメイン テンプレートに含まれる定義済み JMS サーバ
cd ('/JMSServer/cgJMSServer')
for qName in queueNames:
errqName = qName + "_error"
# 非同期ディスパッチャ エラー キューを作成する
create(errqName, 'JMSQueue')
cd ('JMSQueue/' + errqName)
cmo.setJNDIName(errq Name)
errqMBean = cmo
cd ('../..')# 非同期ディスパッチャを作成する
queue
create(qName, 'JMSQueue')
cd ('JMSQueue/' + qName)
cmo.setJNDIName(qName)# 非同期ディスパッチャエラー キューを関連付ける
cmo.setErrorDestination(errqMBean)
cd ('../..')
次のコードは、データベース タイプと関連情報をコンフィグレーションして、4 つのデフォルト JDBC 接続プールのプロダクション データベースをそれぞれ指定します。その接続プールは具体的には、bpmArchPool
、cgJMSPool-nonXA
、cgPool
、および portalPool
です。JDBC 接続プールのコンフィグレーションに関する考慮事項を確認するには、「リソースのコンフィグレーションと割り当てに関する考慮事項」を参照してください。
cd ('/JDBCConnectionPool')
nonXApools = 'cgJMSPool-nonXA',
for pool in nonXApools:
cd (pool)
cmo.setDriverName('oracle.jdbc.driver.OracleDriver')
cmo.setUserName('username
')
cmo.setPassword('password
')
cmo.setDbmsHost('myDBHost')
cmo.setDbmsPort('1521')
cmo.setDbmsName('myDB')
cd ('..')
XApools = 'cgPool', 'bpmArchPool', 'portalPool'
for pool in XApools:
cd (pool)
cmo.setDriverName('oracle.jdbc.xa.client.OracleXADataSource')
cmo.setUserName(user
')
cmo.setPassword(password
')
cmo.setDbmsHost('myDBHost')
cmo.setDbmsPort('5321')
cmo.setDbmsName('myDB')
cmo.setSupportsLocalTransaction(1)
cmo.setKeepXAConnTillTxComplete(1)
cd ('..')
BEA_HOME
、JAVA_HOME
、ディレクトリのルート、CLASSPATH
値など)、およびサーバ起動用のセキュリティ ポリシーが含まれるファイルをコンフィグレーションする。ノード マネージャのコンフィグレーションの詳細については、「ノード マネージャをコンフィグレーションする」を参照してください。
cd ('/')# サーバを定義する
clusterConfig = 'platformCluster','multicast_addr
',9101
ms1 = 'ms1','host1',9111,9112,'machine1'
ms2 = 'ms2','host2',9121,9122,'machine2'
ms3 = 'ms3','host3',9131,9132,'machine1'
ms4 = 'ms4','host4',9141,9142,'machine2'
mss = ms1, ms2, ms3, ms4# クラスタを作成する
cl_name, mc_addr, mc_port = clusterConfig
cluster = create(cl_name, 'Cluster')# マシンをコンフィグレーションする
machine = None
prev_ms_machine = ""
cl_addr = ""
for msConfig in mss:
ms_name, ms_addr, ms_port, ms_ssl_port, ms_machine = msConfig
if ms_machine != "" and ms_machine != prev_ms_machine:
prev_ms_machine = ms_machine
machine = create(ms_machine, 'Machine')cd('Machine/' + ms_machine + '/NodeManager/' + ms_machine)
# ノード マネージャ名とリスン アドレスをコンフィグレーションする
cmo.setName(ms_machine)
cmo.setListenAddress(ms_addr)
cd('../../../..')ms = create(ms_name,'Server')
# 管理対象サーバを 1 台のマシンに割り当てるようにコンフィグレーションする
cd('Server/' + ms_name)
cmo.setListenAddress(ms_addr)
cmo.setListenPort(ms_port)
if machine != None:
cmo.setMachine(machine)
cd('SSL/' + ms_name)
cmo.setEnabled(1)
cmo.setListenPort(ms_ssl_port)
cd('../..')
assign('Server', ms_name, 'Cluster', cl_name)
# ノード マネージャの StartServer プロパティをコンフィグレーションする
create(ms_name, 'ServerStart')
cd('ServerStart/' + ms_name)
cmo.setBeaHome('/bea')
cmo.setJavaHome('/bea/weblogic81/jrockit81sp4_142_05')
cmo.setRootDirectory('/bea/user_projects/domains/platform')
# 表 3-4 の CLASSPATH 設定を参照
cmo.setClassPath(classpath
')
cmo.setSecurityPolicyFile('/bea/weblogic81/server/lib/weblogic.policy')
cmo.setArguments('-Xms512m -Xmx512m -da -Dwlw.iterativeDev=false
-Dwlw.testConsole=false -Dwlw.logErrorsToConsole=true -Dweblogic.ProductionModeEnabled=true')
cmo.setUsername('user')
cmo.setPassword('password')
cd('../..')
# 実行スレッドをチューニングする
cd('ExecuteQueue/weblogic.kernel.Default')
cmo.setThreadCount(15)
cmo.setThreadsIncrease(5)
cd('../..')
# クラスタ アドレス設定用のアドレスとポートを集める
cl_addr = cl_addr + ms_addr + ':' + str(ms_port) + ','
# クラスタ アドレス、マルチキャスト アドレス、およびマルチキャスト ポートを設定する
cl_addr = cl_addr[:-1] # 後にある ',' を切り取る
cluster.setClusterAddress(cl_addr)
cluster.setMulticastAddress(mc_addr)
cluster.setMulticastPort(mc_port)
次のコードは、Web プロキシ サーバをコンフィグレーションします。詳細については、「ロード バランサと Web プロキシ サーバの使用」を参照してください。
create('platproxy','Server')
cd('/Server/platproxy')
cmo.setListenAddress('host')
cmo.setListenPort(9431)# このサーバをクラスタのプロキシ サーバとして設定する
cd ('/Cluster/platformcluster')
cmo.setProxyServer('platproxy')
CreateStartMenu
― Windows の [スタート] メニューにショートカットを作成するかどうかを指定する。 JavaHome
― サーバの起動時に使用する SDK のホーム ディレクトリを指定する。OverwriteDomain
― 既存のドメインを上書き可能にするかどうか指定する。デフォルトは false
です。ServerStartMode
― 新規作成したドメインでサーバを起動するときに使用するモードを指定する。この値は、dev
(開発) または prod
(プロダクション) にも設定できますが、prod
に設定するようにしてください。
setOption('OverwriteDomain','true')
setOption('CreateStartMenu','false')
setOption('ServerStartMode','prod')
setOption('JavaHome','/bea/weblogic81/jrockit81sp4_142_05')
次のコードは、ドメインを特定のディレクトリに書き込んで、コンフィグレーション テンプレートを閉じます。
writeDomain('/bea/user_projects/domains/platform')
closeTemplate()
このセクションでは、「マルチドメインの例」で説明されているような 2 つのドメイン (Basic WebLogic Integration ドメインと Basic WebLogic Portal ドメイン) から構成される環境をコンフィグレーションする方法について説明します。
WLST Offline の使用の詳細については、次の URL にある WLST Offline キットに付属のドキュメントと例を参照してください。https://codesamples.projects.dev2dev.bea.com/servlets/Scarab?id=97
WLST Offline を利用して Basic WebLogic Integration ドメインをコンフィグレーションするプロセスは、「例 : WLST Offline を使用して、単一クラスタ Platform ドメインをコンフィグレーションする方法」で説明されているプロセスとほぼ同じですが、以下のような違いがあります。
readTemplate('/bea/weblogic81/common/templates/domains/wli.jar')
queueNames
リストを定義する。
queueNames = 'IntApp.queue.AsyncDispatcher',
XApools = 'cgPool', 'bpmArchPool'
WLST Offline を利用して Basic WebLogic Portal ドメインをコンフィグレーションするプロセスは、「例 : WLST Offline を使用して、単一クラスタ Platform ドメインをコンフィグレーションする方法」で説明されているプロセスとほぼ同じですが、以下のような違いがあります。
readTemplate('/bea/weblogic81/common/templates/domains/wlp.jar')
queueNames
リストを定義する。
queueNames = 'PortApp.queue.AsyncDispatcher',
XAPools
リストを定義する。
XApools = 'cgPool', 'portalPool'
dev2dev Web サイトにある『WebLogic Platform 8.1 での End2End のクラスタ化』には、サイレント モードでコンフィグレーション ウィザードを使用して対象ドメインをコンフィグレーションする例があります。 http://www.beasys.co.jp/dev2dev/products/wlplatform81/articles/clusterizing_E2E.html
で、この記事にアクセスして、関連サンプル ファイルをダウンロードできます。
注意 : コード サンプルとユーティリティは、便宜を図るために dev2dev に投稿したものであり、BEA のサポート対象製品ではありません。
この記事では、WebLogic Platform ツアーを開発環境からプロダクション環境にプロモートおよび拡張する方法と、コンフィグレーション ウィザードのサイレント モードを使用して次の 2 つのドメインをコンフィグレーションする方法について説明しています。
注意 : この環境を表す図は、「マルチドメインの例」にあります。
Configuration Wizard のサイレント モード スクリプトを表示するには、サンプル コードが含まれる E2ECluster.zip
ファイルをダウンロードして、次のファイルを抽出してください。
integration_cluster_domain.cws
- Basic WebLogic Integration Domain テンプレートを使用するサンプル用にクラスタ化されたドメインを作成する。portal_cluster_domain.cws
- Basic WebLogic Portal Domain テンプレートを使用するサンプル用にクラスタ化されたドメインを作成する。注意 : これらのスクリプトは Ant スクリプトから呼び出されるように設計されており、@DOMAIN_TEMPLATE@
といったプロパティを参照し、Ant スクリプトにインポートされるプロパティ ファイルで解決されます。このように Ant スクリプトとプロパティを使用すると、さまざまな対象環境における自動化やスクリプトの再利用が容易になります。
WebLogic Platform プラットフォームで複数のクラスタをコンフィグレーションする場合は、一部のリソース、サービス、およびアプリケーションを明示的に再割り当てする必要があります。この再割り当てが必要になる理由は次のとおりです。
次の例では、WLST Offline を使用し、「マルチ クラスタ Platform ドメインの例」の説明に従って、2 つのクラスタが含まれる WebLogic Platform ドメインを作成する方法について説明します。
注意 : 読みやすくするために、以下のコードでは、変数ではなく実際の値を使用しています。WLST 変数の使い方については、「WLST 変数を定義する」を参照してください。
WLST Offline の使用の詳細については、次の URL にある WLST Offline キットに付属のドキュメントと例を参照してください。https://codesamples.projects.dev2dev.bea.com/servlets/Scarab?id=97
WLST Offline を使用してマルチ クラスタ ドメインをコンフィグレーションするプロセスは、「例 : WLST Offline を使用して、単一クラスタ Platform ドメインをコンフィグレーションする方法」で説明されているプロセスとほぼ同じですが、単一のクラスタではなく、クラスタを 2 つ作成する必要がある点が異なります。
BEA_HOME
、JAVA_HOME
、ディレクトリのルート、CLASSPATH
値など)、およびサーバ起動用のセキュリティ ポリシーが含まれるファイルをコンフィグレーションする。ノード マネージャのコンフィグレーションの詳細については、「ノード マネージャをコンフィグレーションする」を参照してください。このコードを、「クラスタ、管理対象サーバ、およびマシンをコンフィグレーションする」で説明した単一クラスタ ドメイン用の同等のコードと比較してください。
cd ('/')# サーバを定義する
wli_ms1 = 'wlims1','host1',9111,9112,'wlimachine1'
wli_ms2 = 'wlims2','host2',9121,9122,'wlimachine2'
wli_mss = wli_ms1,wli_ms2
wli_clusterConfig = 'wlicluster','multicast1_addr
',9101,wli_mss
wlp_ms1 = 'wlpms1','host3',9211,9212,'wlpmachine1'
wlp_ms2 = 'wlpms2','host4',9221,9222,'wlpmachine2'
wlp_mss = wlp_ms1,wlp_ms2
wlp_clusterConfig = 'wlpcluster','multicast2_addr
',9201,wlp_mss# クラスタを 2 つ作成する
clusterConfigs = wli_clusterConfig,wlp_clusterConfig
machines_created = ""
for clusterConfig in clusterConfigs:
cl_name, mc_addr, mc_port,mss = clusterConfig
cluster = create(cl_name, 'Cluster')# マシンをコンフィグレーションする
machine = None
cl_addr = ""
for msConfig in mss:
ms_name, ms_addr, ms_port, ms_ssl_port, ms_machine = msConfig
# ms_machine の存在をチェックする
create_this_machine = 'yes'
if machines_created == "":
machines_created = ms_machine
else:
if machines_created.find(ms_machine) == -1:
machines_created = machines_created + "," + ms_machine
else:
create_this_machine = 'no'
if ms_machine != "" and create_this_machine == 'yes'
machine = create(ms_machine, 'Machine')cd('Machine/' + ms_machine + '/NodeManager/' + ms_machine)
# ノード マネージャ名とリスン アドレスをコンフィグレーションする
cmo.setName(ms_machine)
cmo.setListenAddress(ms_addr)
cd('../../../..')
# 管理対象サーバをコンフィグレーションしてマシンに割り当てる
ms = create(ms_name,'Server')
ms.setListenAddress(ms_addr)
ms.setListenPort(ms_port)
if machine != None:
ms.setMachine(machine)
cd('Server/' + ms_name + '/SSL/' + ms_name)
cmo.setEnabled(1)
cmo.setListenPort(ms_ssl_port)
cd('../../../..')
assign('Server', ms_name, 'Cluster', cl_name)
# ノード マネージャの StartServer プロパティをコンフィグレーションする
cd('Server/' + ms_name)
create(ms_name, 'ServerStart')
cd('ServerStart/' + ms_name)
cmo.setBeaHome('/bea')
cmo.setJavaHome('/bea/weblogic81/jrockit81sp4_142_05')
cmo.setRootDirectory('/bea/user_projects/domains/platform')
# 表 3-4 の CLASSPATH の設定を参照
cmo.setClassPath('classpath
')
cmo.setSecurityPolicyFile('/bea/weblogic81/server/lib/weblogic.policy')
cmo.setArguments('-Xms512m -Xmx512m -da -Dwlw.iterativeDev=false
-Dwlw.testConsole=false -Dwlw.logErrorsToConsole=true -Dweblogic.ProductionModeEnabled=true')
cmo.setUsername('user
')
cmo.setPassword('password
')
cd('../../../..')
# クラスタ アドレス設定用のアドレスとポートを集める
cl_addr = cl_addr + ms_addr + ':' + str(ms_port) + ','
# クラスタ アドレス、マルチキャスト アドレス、およびマルチキャスト ポートを設定する
cl_addr = cl_addr[:-1] # slice off trailing ','
cluster.setClusterAddress(cl_addr)
cluster.setMulticastAddress(mc_addr)
cluster.setMulticastPort(mc_port)
# WebLogic Portal クラスタ用の JMS JDBC ストアをコンフィグレーションする
cd('/JDBCConnectionPool/cgJMSPool-nonXA')
connPoolMBean = cmo
cd('/JMSTemplate/TemporaryTmplt')
jmsTemplateMBean = cmo
cd('/')
jdbcstorePrefix = "cgJMSStore_wlp_auto_"
a = ['1', '2']
for n in a:
storename = jdbcstorePrefix + n
store = create(storename,"JMSJDBCStore")
store.setConnectionPool(connPoolMBean)
store.setPrefixName('wlp_' + n)
コンフィグレーション ウィザードと WLST Offline は、単一クラスタ ドメインの自動コンフィグレーションにのみ対応しています。クラスタを 2 つ作成する場合は、次の手順の説明に従って、リソース、サービス、およびアプリケーションに割り当てられた対象を手動で修正する必要があります。自動コンフィグレーションの詳細については、「コンフィグレーション ウィザードと WLST Offline を使用した自動コンフィグレーション」を参照してください。
注意 : デフォルトの対象要件については、「デプロイメント対象のリファレンス - 単一クラスタ WebLogic Platform ドメイン」を参照してください。リソース、サービス、アプリケーションの製品コンポーネントを確認するには、「デフォルトのドメイン リソース リファレンス - 製品コンポーネント別」を参照してください。
たとえば、WebLogic Integration クラスタと WebLogic Portal クラスタの portalPool
および bpmArchPool
JDBC 接続プールをそれぞれ割り当て解除します。
unassign('JDBCConnectionPool', 'portalPool', 'Target', wliClusterName)
unassign('JDBCConnectionPool', 'bpmArchPool', 'Target', wlpClusterName)
たとえば、WebLogic Portal クラスタの WebLogic Integration 起動クラスおよび停止クラスを割り当て解除します。
WLIStartupShutdownClasses = (('ShutdownClass','WLI Shutdown Class'),\
('StartupClass','WLI Startup Class'),\
('StartupClass','WLI Post-Activation Startup Class'))
for classNVpair in WLIStartupShutdownClasses:
cname,cvalue=classNVpair
unassign(cname, cvalue, 'Target', wlpClusterName)
.workshop/worklist/EJB/ProjectBeans
は、次のように名前が一時的に変更されている。_workshop_worklist_EJB_ProjectBeans
.workshop/worklist/EJB/GenericStateless
は、次のように名前が変更されている。GenericStateless
assign('Application', 'B2BDefaultWebApp', 'Target', adminName)
assign('Application', 'WLI AI RAR Upload', 'Target', adminName)
assign('Application', 'wliconsole', 'Target', adminName)
assign('Application', 'B2BDefaultWebApp', 'Target', wliClusterName)
assign('Application', '_workshop_worklist_EJB_ProjectBeans',\ 'Target', wliClusterName)
assign('Application', '_workshop_worklist_EJB_GenericStateless',\ 'Target', wliClusterName)
assign('Application', 'worklist', 'Target', wliClusterName)
assign('Application', 'WLIAdmin', 'Target', wliClusterName)
assign('Application', 'WLI Admin Helper', 'Target', wliClusterName)
...
config.xml
ファイルを手動で編集して、第 2 のクラスタ (この例では、WebLogic Portal クラスタ) 用に次のリソースを作成します。
<JMSServer Name="cgJMSServer_wlp_auto_1"
Store="cgJMSStore_wlp_auto_1" Targets="wlpms1 (migratable)">
<JMSQueue JNDIName="jws.queue_wlp_auto_1"
Name="cgJWSQueue_wlp_auto_1" RedeliveryLimit="2"
StoreEnabled="default"/>
</JMSServer>
<JMSServer Name="cgJMSServer_wlp_auto_2"
Store="cgJMSStore_wlp_auto_2" Targets="wlpms2 (migratable)">
<JMSQueue JNDIName="jws.queue_wlp_auto_2"
Name="cgJWSQueue_wlp_auto_2" RedeliveryLimit="2"
StoreEnabled="default"/>
</JMSServer>
<JMSDistributedQueue JNDIName="jws.queue"
Name="dist_cgJWSQueue_wlp_auto" Targets="wlpcluster">
<JMSDistributedQueueMember JMSQueue="cgJWSQueue_wlp_auto_1"
Name="cgJWSQueue_wlp_auto_1_OF_cgJMSServer_wlp_auto_1"/>
<JMSDistributedQueueMember JMSQueue="cgJWSQueue_wlp_auto_2"
Name="cgJWSQueue_auto_2_OF_cgJMSServer_wlp_auto_2"/>
</JMSDistributedQueue>
![]() ![]() |
![]() |
![]() |