3 WLSTオフラインを使用したWebLogicドメインの作成
WebLogicドメインの作成に使用できるサンプル・スクリプトについては、「WLSTオフライン・サンプル・スクリプト」を参照してください。
構成ウィザードの詳細は、構成ウィザードによるWebLogicドメインの作成の構成ウィザードの概要を参照してください。
ドメイン・テンプレートの作成および使用(オフライン)
ドメイン・テンプレートは、ドメインの構成ドキュメント、アプリケーション、セキュリティ・データ、起動スクリプト、およびWebLogicドメインの作成に必要なその他の情報が含まれたJARファイルです。
ノート:
WLSTによるドメインの作成や更新に時間がかかるような場合、CONFIG_JVM_ARGS
環境変数を次の値に設定することにより、時間を短縮できます:
-Djava.security.egd=file:/dev/urandom
ドメイン・テンプレートを作成および使用するには、表3-1に示すステップを実行します。
表3-1 ドメイン・テンプレートを作成するステップ(オフライン)
次を行うには... | このコマンドを使用します... | 参照先 |
---|---|---|
既存のWebLogicドメインを開くか、ドメインのテンプレートを選択する |
|
WebLogic Server WLSTコマンド・リファレンスのreadDomain、selectTemplateおよびloadTemplates |
WebLogicドメインを修正する(オプション) |
参照コマンドおよび編集コマンド |
|
未設定の場合に、デフォルト・ユーザーのパスワードを設定する。 ドメイン・テンプレートに書き込むには、先にデフォルトのユーザー名およびパスワードを設定する必要があります。 |
|
|
ドメイン・テンプレートにドメイン構成情報を書き込む。 |
|
WebLogic Server WLSTコマンド・リファレンスのwriteTemplate |
テンプレートを使用してドメインを作成する。 |
ノート: 構成ウィザードでもドメイン・テンプレートを使用できます。構成ウィザードによるWebLogicドメインの作成のWebLogicドメインの紹介を参照してください。 |
WebLogic Server WLSTコマンド・リファレンスのcreateDomain |
例3-1は、既存のドメインからドメイン・テンプレートを作成するために必要な、基本的なコマンドを示します。
例3-1 既存のドメインからのドメイン・テンプレートの作成
# Read the domain from the domain home located at /domains/mydomain readDomain('/domains/mydomain') # Create the template jar mydomain.jar in /templates writeTemplate('/templates/mydomain.jar')
WebLogicドメインの作成と更新
WebLogicドメインを作成または更新する場合、構成セッションに対して3つのフェーズがあります。
-
readTemplate (作成の場合)またはreadDomain (更新の場合)を使用し、その後にオプションで1つ以上のaddTemplate()コールを続けて、構成をロードおよびマージします。
-
構成ツリーにナビゲートし、属性を更新することによって、構成を変更します。
-
writeDomain (作成の場合)、updateDomain (更新の場合)、またはwriteTemplate (テンプレートの作成の場合)を使用し、その後に必要に応じてcloseTemplateまたはcloseDomainを続けて、構成を保存します。
次の例は、単一のテンプレートおよび複数のテンプレートからドメインを作成するコマンドの順序を示します。より広範囲のサンプルのWLSTオフライン・スクリプトは、次のディレクトリで入手できます。
ORACLE_HOME
/wlserver/common/templates/scripts/wlst
例3-2は、単一のテンプレートからドメインを作成するために必要なコマンドの基本的な順序を示します。この例では、wls.jarテンプレートから基本的なWebLogic Serverドメインを作成します。
例3-2 単一のテンプレートからのドメインの作成
# Read the template to use for creating the domain readTemplate('oracle_home/middleware/wlserver/common/templates/wls/wls.jar') # Set the listen address and listen port for the Administration Server cd('Servers/AdminServer') set('ListenAddress','') set('ListenPort', 7001) # Enable SSL on the Administration Server and set the SSL listen address and # port create('AdminServer','SSL') cd('SSL/AdminServer') set('Enabled', 'True') set('ListenPort', 7002) # Set the domain password for the WebLogic Server administration user cd('/') cd('Security/base_domain/User/adminusername') cmo.setPassword('adminpassword') # If the domain already exists, overwrite the domain setOption('OverwriteDomain', 'true') # write the domain and close the template writeDomain('/domains/mydomain') closeTemplate() exit()
例3-3は、ドメイン・テンプレートおよび1つ以上の拡張テンプレートを使用して新規ドメインを作成する方法を示します。この例では、wls.jarテンプレートから基本的なWebLogic Serverドメインを作成してから、WebLogic Webサービスの拡張テンプレートをドメインに追加してドメインを拡張します。
例3-3 複数のテンプレートからのドメインの作成
# Select the WebLogic domain template, and # then load it selectTemplate('Basic WebLogic Server Domain') selectTemplate('WebLogic Advanced Web Services for JAX-RPC Extension') loadTemplates() # Set the listen address and listen port for the Administration Server cd('Servers/AdminServer') set('ListenAddress','') set('ListenPort', 7001) # Enable SSL on the Administration Server and set the SSL listen address and # port create('AdminServer','SSL') cd('SSL/AdminServer') set('Enabled', 'True') set('ListenPort', 7002) # Set the domain password for the WebLogic Server administration user cd('/') cd('Security/base_domain/User/adminusername') cmo.setPassword('adminpassword') # If the domain already exists, overwrite the domain setOption('OverwriteDomain', 'true') # write the domain and close the templates writeDomain('/domains/mydomain') # Select the WebServices for JAX-RPC template, and # then load it selectTemplate('WebLogic Advanced Web Services for JAX-RPC Extension') loadTemplates() closeTemplate() exit()
構成階層情報の参照(オフライン)
WLSTオフラインでは、テンプレート・ビルダーを使用して作成したドメイン・テンプレートJAR内、またはWebLogicドメインのconfig
ディレクトリ内に永続化されている構成データへの読み書きアクセスが可能です。このデータは、XMLドキュメントの集合であり、管理オブジェクトの階層構造を表します
WebLogicドメインの構成ドキュメントを定義するスキーマは、次の場所に格納されています。
-
http://xmlns.oracle.com/weblogic/weblogic-diagnostics/1.0/weblogic-diagnostics.xsd
-
WL_HOME
/server/lib/schema
内のJARファイル。WL_HOME
はWebLogic Serverのインストール・ディレクトリです。このディレクトリ内では、以下のドキュメントが表現されています。このディレクトリには次が含まれます。-
domain.xsd
ドキュメント。パス名META-INF/schemas/schema-0.xsd
のweblogic-domain-binding.jar
で表現されます。 -
security.xsd
ドキュメント。パス名META-INF/schemas/schema-1.xsd
のweblogic-domain-binding.jar
で表現されます。 -
weblogic-diagnostics.xsd
ドキュメント。パス名META-INF/schemas/schema-0.xsd
のdiagnostics-binding.jar
で表現されます。
-
WLSTでは、この階層はファイル・システムとして表されます。ファイル・システムのルートが、WebLogicドメインを表す管理オブジェクトです。ドメイン・ディレクトリの下には管理対象オブジェクト・タイプのディレクトリ群があります。このオブジェクト・タイプの各インスタンスがタイプ・ディレクトリの下位ディレクトリであり、各管理属性および操作がディレクトリ内のファイルです。インスタンス・ディレクトリの名前は、管理オブジェクトのName
属性の値と一致します。管理オブジェクトにName
属性がない場合、NO_NAME_
number
の形式でディレクトリ名が生成されます。ここで、number
は0(ゼロ)から始まり、追加のインスタンスごとに1ずつ増分します。
ノート:
WebLogic Serverのデフォルト値のほとんどは、パフォーマンスを最適化するため、ドメインの構成ファイルには保持されていません。この最適化が原因で、WLSTオフラインでは管理オブジェクト全体を表示できない場合があります(WebLogic Serverでは対応するXML要素をドメインの構成ファイルに書き込んでいないため)。たとえば、ドメインがアクティブであるときにWebLogicドメインのロギングのデフォルト重大度を変更しなかった場合、WLSTオフラインではドメインのLog
管理オブジェクトは表示されません。
WLSTオフラインで表示されない管理オブジェクトの属性のデフォルト値を変更する場合、最初にcreate
コマンドを使用して管理オブジェクトを作成する必要があります。次に、cd
を使用して管理オブジェクトに移動し、属性値を変更します。WebLogic Server WLSTコマンド・リファレンスのcreateを参照してください。
階層をナビゲートするには、UNIXまたはWindowsのコマンド・シェルでファイル・システムをナビゲートするのと同様に、cd
、ls
、pwd
などのWLSTコマンドを使用します(表3-2を参照)。
表3-2 WebLogicドメイン構成情報の表示(オフライン)
次を行うには... | このコマンドを使用します... | 『WebLogic Server WLSTコマンド・リファレンス』のこの項を参照してください |
---|---|---|
管理オブジェクトの階層をナビゲートする |
|
|
現在の管理オブジェクトの子の属性または管理オブジェクトをリストする |
|
|
プロンプトで管理オブジェクトのナビゲーション・パス情報表示を切り替える |
|
|
構成階層内の現在の場所を表示する |
|
|
WLSTで使用されるすべての変数を表示する |
|
|
WLSTアクションの実行中に発生した最近の例外のスタック・トレースを表示する |
|
WebLogicドメインの編集(オフライン)
WebLogicドメインはオフラインで編集できます。
WLSTオフラインを使用してWebLogicドメインを編集するには、表3-3で定義されているタスクのいずれかを実行します。
表3-3 WebLogicドメインの編集
次を行うには... | このコマンドを使用します... | 『WebLogic Server WLSTコマンド・リファレンス』のこの項を参照してください |
---|---|---|
アプリケーションをWebLogicドメインに追加する |
|
|
リソースを1つまたは複数の宛先に割り当てる(クラスタへのサーバーの割り当てなど) |
|
|
リソースの割当てを解除する |
|
|
管理オブジェクトを作成および削除する |
|
|
属性値を取得および設定する |
|
|
構成オプションを設定する |
|
|
SQLファイルをデータベースにロードする |
|
ノート:
WLSTによるドメインの作成や更新に時間がかかるような場合、CONFIG_JVM_ARGS
環境変数を次の値に設定することにより、時間を短縮できます:
-Djava.security.egd=file:/dev/urandom
代替手段: configToScriptコマンドの使用
WLSTには、既存のWebLogicドメインを読み込み、WebLogicドメインの再作成が可能なWLSTスクリプトを出力するconfigToScript
というコマンドがあります。WebLogic Server WLSTコマンド・リファレンスのconfigToScriptを参照してください。
ノート:
WebLogic Serverに加えて他のFusion Middlewareコンポーネントが含まれるドメインにconfigToScript
を使用する場合、configToScript
には、結果として生じるWLSTスクリプトにある、そのコンポーネントの構成が含まれないことに注意してください。WebLogic Server構成のみがこのスクリプトに含まれます。
configToScript
は将来のリリースで非推奨になります。リモート・サーバーでドメインを再作成するには、pack
およびunpack
を使用することをお薦めします。PackおよびUnpackコマンドによるテンプレートとドメインの作成のPackおよびUnpackコマンドの概要を参照してください。
ドメイン・テンプレートの作成や使用とは異なり、configToScript
コマンドは、一緒に使用する必要のある複数のファイルを作成します。(ドメイン・テンプレートは単一のJARファイルです。)また、configToScript
コマンドが作成するスクリプトには、次の特徴があります。
-
WLSTでのみ実行できます。
ドメイン・テンプレートは、WLSTまたは構成ウィザードで使用できます。
-
WebLogic Serverインスタンスが実行されている必要があります。サーバーが実行されていない場合、このスクリプトによってサーバーが起動されます。
WLSTオフラインまたは構成ウィザードでは、ドメイン・テンプレートを使用して、サーバー・インスタンスを起動せずにWebLogicドメインを作成できます。
-
アプリケーションおよびその他のリソースへの参照のみが含まれます。生成されたスクリプトを実行するとき、アプリケーションおよびリソースは、ファイル・システムを介してWebLogicドメインにアクセスできる必要があります。
WebLogicドメイン・テンプレートは、WebLogicドメインの作成に必要なすべてのアプリケーションおよびリソースが含まれたJARファイルです。ドメイン・テンプレートは自己完結型であるため、ドメイン・テンプレートを使用すると、ファイル・システムを共有しない別のシステムにWebLogicドメインを作成できます。
クラスタ、JDBC、およびJMSリソースに関する考慮事項
WLSTオフラインで、アプリケーション・スコープのJDBCやJMSリソース、またはその両方が含まれるアプリケーションを備えたテンプレートを使用してクラスタWebLogicドメインを作成または拡張した場合、ドメインの作成または拡張後に、アプリケーションとそのアプリケーション・スコープのリソースが確実にターゲット指定され、クラスタ環境に適切にデプロイされるために、追加のステップの実行が必要な場合があります。アプリケーション・スコープのモジュールのターゲット指定とデプロイメントの詳細は、Oracle WebLogic Serverへのアプリケーションのデプロイのweblogic.deployerによるアプリケーションおよびモジュールのデプロイを参照してください。
JDBCリソースを使用してデータベースに接続する場合、データベース・ベンダーの要件に従って環境を変更します。通常、そのためには、ドライバ・クラスをCLASSPATH
変数に追加し、ベンダー固有のディレクトリをPATH
変数に追加します。SDKをPATH
変数に追加し、WebLogic ServerクラスをCLASSPATH
変数に追加するだけでなく、サンプルDerbyデータベースで必要な環境を設定するには、次のスクリプトを呼び出します。
(Windows) ORACLE_HOME\user_projects\domains\wl_server\setExamplesEnv.cmd (UNIX) ORACLE_HOME/user_projects/domains/wl_server/setExamplesEnv.sh
リモート・マシンでの新しい管理対象サーバー・ドメインの作成
WebLogicドメインに複数の管理対象サーバーがあり、その管理対象サーバーのドメイン・ディレクトリが管理サーバーが存在しないリモート・マシンに配置される場合は、オンライン・モードでWLST writeTemplate
コマンドを使用できます。リモート・マシンから管理サーバーに接続した際にwriteTemplate
コマンドを実行すると、テンプレートJARファイルに管理サーバー上のドメインが動的にパッケージ化され、指定したディレクトリにテンプレートJARが転送されます。
次のWLSTスクリプト例は、writeTemplate
を使用して、リモート・マシンで管理対象サーバー・ドメインを作成または更新する方法を示します。ドメインの各リモート・マシンでスクリプトを実行します。
import os
wlsHome = os.getenv('WL_HOME')
mwHome = os.path.join(wlsHome, '..')
#Substitute the administrator user name and password values below as needed
connect('adminusername','adminpassword','localhost:7001')
#The path on the local machine where the template will be created,
#it should not already exist.
templatePath = 'user_templates/myTemplate.jar'
#get the packed template from the Administration Server
writeTemplate(templatePath)
#disconnect from online WLST connection to the Administration Server
disconnect()
#select and load the template that was downloaded from the Administration
#Server.
selectCustomTemplate(templatePath
)
loadTemplates()
#specify the domain directory where the domain needs to be created
domainPath = 'domains/myRemoteDomain')
#create the domain
writeDomain(domainPath)
ノート:
writeDomain()
コマンドを使用してドメインをリモート・ノードにコピーする場合は、applications
ディレクトリ(c:/Oracle/Middleware/user_projects/applications/mydomain/
)に対する書込み権限が必要です。