プライマリ・コンテンツに移動
Oracle® Fusion Middleware WebLogic Scripting Tool 12.1.3の理解
12c (12.1.3)
E57579-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

3 WLSTオフラインを使用したWebLogicドメインの作成

この章では、オフラインでWebLogic Scripting Tool (WLST)を使用して、WebLogic Server 12.1.3ドメインを作成および構成する方法について説明します。WLSTでは、実行中のWebLogic Serverに接続しないで(つまり、WLSTオフラインを使用して)、構成ウィザードと同じ機能をサポートしながら、新しいWebLogicドメインを作成し、既存のWebLogicドメインを更新できます。

この章の内容は以下のとおりです。

WebLogicドメインの作成に使用できるサンプル・スクリプトについては、「WLSTオフライン・サンプル・スクリプト」を参照してください。

構成ウィザードの詳細は、「構成ウィザードによるドメインの作成」を参照してください。

ドメイン・テンプレートの作成および使用(オフライン)

ドメイン・テンプレートは、ドメインの構成ドキュメント、アプリケーション、セキュリティ・データ、起動スクリプト、およびWebLogicドメインの作成に必要なその他の情報が含まれたJARファイルです。ドメイン・テンプレートを作成および使用するには、表3-1に示す手順を実行します。


注意:

WLSTによるドメインの作成や更新に時間がかかるような場合、CONFIG_JVM_ARGS環境変数を次の値に設定することにより、時間を短縮できます:

-Djava.security.egd=file:/dev/urandom


表3-1 ドメイン・テンプレートを作成する手順(オフライン)

次を行うには... このコマンドを使用します... 詳細については、以下を参照

既存のWebLogicドメインまたはテンプレートを開く

readDomain(domainDirName)

readTemplate(templateFileName, profile)

WebLogic Scripting Toolコマンド・リファレンスのreadDomainおよびreadTemplate

WebLogicドメインを修正する(オプション)

参照コマンドおよび編集コマンド

構成階層情報の参照(オフライン)

WebLogicドメインの編集(オフライン)


未設定の場合に、デフォルト・ユーザーのパスワードを設定する。

ドメイン・テンプレートに書き込むには、先にデフォルトのユーザー名およびパスワードを設定する必要があります。

cd('/Security/domainname/User/username')

cmo.setPassword('password')

WLSTオフライン・サンプル・スクリプト


ドメイン・テンプレートにドメイン構成情報を書き込む。

writeTemplate(templateName)

WebLogic Scripting Toolコマンド・リファレンスのwriteTemplate

テンプレートを使用してドメインを作成する。

createDomain(domainTemplate,

domainDir, user, password)

注意: 構成ウィザードでもドメイン・テンプレートを使用できます。「構成ウィザードによるドメインの作成」を参照してください。

WebLogic Scripting Toolコマンド・リファレンスの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-2は、ドメイン・テンプレートおよび1つ以上の拡張テンプレートを使用して新規ドメインを作成する方法を示します。この例では、wls.jarテンプレートから基本的なWebLogic Serverドメインを作成してから、WebLogic Webサービスの拡張テンプレートをドメインに追加してドメインを拡張します。

例3-3 複数のテンプレートからのドメインの作成

# Read the basis WebLogic Server domain template
readTemplate('oracle_home/middleware/wlserver/common/templates/wls/wls.jar')

# Add the second template, in this example, the Web Services template
addTemplate('/scratch/leturme/wls1213/oracle_common/common/templates/wls/
oracle.wls-webservice-template_12.1.3.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 templates
writeDomain('/domains/mydomain')
closeTemplate()

exit()

構成階層情報の参照(オフライン)

WLSTオフラインでは、テンプレート・ビルダーを使用して作成したドメイン・テンプレートJAR内、またはWebLogicドメインのconfigディレクトリ内に永続化されている構成データへの読み書きアクセスが可能です。このデータは、XMLドキュメントの集合であり、管理オブジェクトの階層構造を表します。WebLogicドメインの構成ドキュメントを定義するスキーマは、次の場所に格納されています。

WLSTでは、この階層はファイルシステムとして表されます。ファイルシステムのルートが、WebLogicドメインを表す管理オブジェクトです。ドメイン・ディレクトリの下には管理対象オブジェクト・タイプのディレクトリ群があります。このオブジェクト・タイプの各インスタンスがタイプ・ディレクトリの下位ディレクトリであり、各管理属性および操作がディレクトリ内のファイルです。インスタンス・ディレクトリの名前は、管理オブジェクトのName属性の値と一致します。管理オブジェクトにName属性がない場合、NO_NAME_numberの形式でディレクトリ名が生成されます。ここで、numberは0(ゼロ)から始まり、追加のインスタンスごとに1ずつ増分します。

階層をナビゲートするには、UNIXまたはWindowsのコマンド・シェルでファイル・システムをナビゲートするのと同様に、cdlspwdなどのWLSTコマンドを使用します(表3-2を参照)。


注意:

WebLogic Serverのデフォルト値のほとんどは、パフォーマンスを最適化するため、ドメインの構成ファイルには保持されていません。この最適化が原因で、WLSTオフラインでは管理オブジェクト全体を表示できない場合があります(WebLogic Serverでは対応するXML要素をドメインの構成ファイルに書き込んでいないため)。たとえば、WebLogicドメインがアクティブであるときにドメインのロギングのデフォルト重大度レベルを変更しなかった場合、WLSTオフラインではドメインのLog管理オブジェクトは表示されません。

WLSTオフラインで表示されない管理オブジェクトの属性のデフォルト値を変更する場合、最初にcreateコマンドを使用して管理オブジェクトを作成する必要があります。次に、cdを使用して管理オブジェクトに移動し、属性値を変更します。WebLogic Scripting Toolコマンド・リファレンスのcreateに関する項を参照してください。


表3-2 WebLogicドメイン構成情報の表示(オフライン)

次を行うには... このコマンドを使用します... 詳細は、WebLogic Scripting Toolコマンド・リファレンスの次の項を参照

管理オブジェクトの階層をナビゲートする

cd(path)

「cd」

現在の管理オブジェクトの子の属性または管理オブジェクトをリストする

ls(['a' | 'c'])

「ls」

プロンプトで管理オブジェクトのナビゲーション・パス情報表示を切り替える

prompt(['off'|'on'])

「prompt」

構成階層内の現在の場所を表示する

pwd()

「pwd」

WLSTで使用されるすべての変数を表示する

dumpVariables()

「dumpVariables」

WLSTアクションの実行中に発生した最近の例外のスタック・トレースを表示する

dumpStack()

「dumpStack」


WebLogicドメインの編集(オフライン)

WLSTオフラインを使用してWebLogicドメインを編集するには、次の表で定義されているタスクのいずれかを実行します。


注意:

WLSTによるドメインの作成や更新に時間がかかるような場合、CONFIG_JVM_ARGS環境変数を次の値に設定することにより、時間を短縮できます:

-Djava.security.egd=file:/dev/urandom


表3-3 WebLogicドメインの編集

次を行うには... このコマンドを使用します... 詳細は、WebLogic Scripting Toolコマンド・リファレンスの次の項を参照

アプリケーションをWebLogicドメインに追加する

addTemplate(templateFileName)

「addTemplate」

リソースを1つまたは複数の宛先に割り当てる(クラスタへのサーバーの割り当てなど)

assign(sourceType, sourceName, destinationType, destinationName)

「assign」

リソースの割当てを解除する

unassign(sourceType, sourceName, destinationType, destinationName)

「unassign」

管理オブジェクトを作成および削除する

create(name, childMBeanType)
delete(name, childMBeanType)

「create」

「delete」

属性値を取得および設定する

get(attrName)
set(attrName, value)

「get」

「set」

構成オプションを設定する

setOption(optionName, value)

「setOption」

SQLファイルをデータベースにロードする

loadDB(dbVersion, connectionPoolName)

「loadDB」


代替手段: configToScriptコマンドの使用

WLSTには、既存のWebLogicドメインを読み込み、WebLogicドメインの再作成が可能なWLSTスクリプトを出力するconfigToScriptというコマンドがあります。WebLogic Scripting Toolコマンド・リファレンスのconfigToScriptに関する項を参照してください。


注意:

WebLogic Serverに加えて他のFusion Middlewareコンポーネントが含まれるドメインにconfigToScriptを使用する場合、configToScriptには、結果として生じるWLSTスクリプトにある、そのコンポーネントの構成が含まれないことに注意してください。WebLogic Server構成のみがこのスクリプトに含まれます。

configToScriptは将来のリリースで非推奨になります。リモート・サーバーでドメインを再作成するには、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データベースで必要な環境を設定するには、次のスクリプトを呼び出します。

ORACLE_HOME\user_projects\domains\wl_server\setExamplesEnv.cmd (Windowsの場合)

ORACLE_HOME/user_projects/domains/wl_server/setExamplesEnv.sh (UNIXの場合)

リモート・マシンでの新しい管理対象サーバー・ドメインの作成

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()
 
#read the template that was downloaded from the Administration Server. In this 
#case, the Expanded configuration of the domain is read.
readTemplate('templatepath', 'Expanded')
 
#specify the domain directory where the domain needs to be created
domainPath = 'domains/myRemoteDomain')
 
#create the domain
writeDomain(domainPath)