10 トークンおよび論理クラスタの使用
ジョブ定義をテスト環境から本番環境に簡単に移植できるようにするには、ジョブ定義にホスト名やポート番号など環境固有の情報を含めないようにするのが最善の方法です。Oracle Enterprise Schedulerのトークン置換および論理クラスタ機能では、T2Pプロセス中にターゲット・デプロイメントに正しく適合するよう簡単に変更できるようにメタデータを抽象化できます。
この章の構成は、次のとおりです。
10.1 トークン置換の使用
構成の柔軟性を高め、プロビジョニングの必要性を削減するために、Oracle Enterprise Schedulerでは、置換可能トークンをリクエスト・パラメータおよび環境プロパティに含めることができます。
トークンの形式は、${
TokenPrefix:
token}
となります。
ここでのtokenはトークンの名前で、TokenPrefixには置換値が指定されます。サポートされているトークンの接頭辞は、APP_ENV
、ESS_ENV
およびESS_REQ
です。次に示す例は単純ですが、Oracle Enterprise Schedulerの置換機能を表しています。
-
APP_ENV
置換値は、アプリケーション環境プロパティから取得されます。
たとえば、次の環境変数は、Oracle Enterprise Manager Fusion Middleware ControlまたはWLSTを使用して、ホスティング・アプリケーションの構成プロパティで指定されます。
AppEnvVar1=foo
リクエスト・パラメータはジョブ定義で指定されます。
MyParam=${APP_ENV:appEnvVar1}
置換後、
MyParam
の値はfoo
です。 -
ESS_ENV
置換値は、Oracle Enterprise Schedulerサーバー環境から取得されます。これには、次の3つの可能なソースがあります。
-
JVMシステム・プロパティ: トークン値は、システム・プロパティの名前です。
-
JVM環境変数: トークン値は、環境変数の名前です。
-
JRF: トークン値は、
jrfServerLogPath
、jrfServerConfigDirectory
およびjrfDomainConfigDirectory
です。
次の例は、ホスティング・アプリケーション構成プロパティ内の環境変数の仕様における
ESS_ENV
トークン接頭辞の使用方法を示しています。wlstLocation = ${ESS_ENV:common.components.home}/common/bin/wlst.sh
置換の実行時、Oracle Enterprise Schedulerプロセス・ジョブ環境には、値が完全パスである
wlstLocation
という名前の環境変数が含まれます。次に例を示します。/myInstallHome/mw_home/oracle_common/common/bin/wlst.sh
-
-
ESS_REQ
ESS_REQ
置換は、対象のOracle Enterprise Schedulerリクエスト固有の情報から取得されます。サポートされているトークンは次のとおりです。-
REQUEST_ID
-
REQUEST_HANDLE
-
IS_RESUMED
-
PAUSED_STATE
-
リクエストのリクエスト・パラメータ名
-
10.1.1 ネストされている置換
最上位レベルの置換の実行時に、ネストされている置換は自動的に解決されます。たとえば、次のリクエスト・パラメータはプロセス・ジョブのジョブ定義で指定されます。
MyParam1=${ESS_REQ:MyParam2} MyParam2=${APP_ENV:MyEnvProp1}
アプリケーションの環境プロパティには次が含まれます。
MyEnvProp1=${ESS_ENV:weblogic.Name}
JVMシステム・プロパティweblogic.Name
の値は、ess_server1
と類似したものです。MyParam1
で置換が実行されると、MyParam2
の値に解決され、次にMyEnvProp1
の値に解決されます。ネストされている置換の結果として、MyParam1
の値はess_server1
となります。
10.1.2 自動置換
Oracle Enterprise Schedulerの自動置換は、プロセス・ジョブ・コマンド行および環境プロパティの他、EJBおよびWebサービス・ジョブによって使用されるリクエスト・プロパティで使用可能です。
以下のセクションには、EJBジョブ、Webサービス・ジョブおよびプロセス・ジョブに対して自動的に置換されるリクエスト・パラメータがリストされています。
これらのプロパティの詳細は、次の章を参照してください。
EJBジョブ・タイプの自動置換プロパティ
EJBジョブ・タイプに対して自動的に置換されるプロパティは次のとおりです。
-
SYS_EXT_jndiProviderUrl
-
SYS_EXT_essRuntimeJndiMappedName
-
SYS_EXT_essMetadataJndiMappedName
-
SYS_EXT_essAsyncRequestJndiMappedName
-
SYS_EXT_essJndiCsfKey
-
SYS_EXT_invokeMessage
Webサービス・ジョブ・タイプ: 自動置換プロパティ
Webサービス・ジョブ・タイプに対して自動的に置換されるプロパティは次のとおりです。
-
SYS_EXT_wsEndpointBaseUrl
-
SYS_EXT_wsEndpointUrl
-
SYS_EXT_wsWsdlBaseUrl
-
SYS_EXT_wsWsdlUrl
-
SYS_EXT_invokeMessage
-
SYS_EXT_wsCancelMessage
プロセス・ジョブ・タイプ: 自動置換プロパティ
プロセス・ジョブ・タイプに対して自動的に置換されるプロパティは次のとおりです。
-
SYS_cmdLine
-
SYS_EXT_cmdLine.Unix
-
SYS_EXT_cmdLine.Windows
-
SYS_environmentVariables
10.2 論理クラスタの使用
Oracle Enterprise Schedulerでは、EJBおよびWebサービスのジョブに抽象的なジョブの場所を定義できる手段が提供されています。ジョブの場所は、Oracle Enterprise SchedulerのSYS_logicalClusterName
システム・プロパティで指定し、論理クラスタ名(LCN)を指定します。
EJBまたはWebサービス・ジョブのジョブ定義によりLCNの値が指定される場合、特定の環境固有のプロパティは、Oracle Enterprise Manager Fusion Middleware ControlまたはWLSTコマンドを使用して、ジョブ定義ではなくホスティング・アプリケーション・レベルで指定されます。同じLCNを持つすべてのジョブ定義は、Oracle Enterprise Manager Fusion Middleware ControlまたはWLSTコマンドを使用してホスティング・アプリケーション構成プロパティに入力されたプロパティ値を共有します。
ノート:
Oracle Enterprise Manager Fusion Middleware Controlは、論理クラスタ機能を「ジョブの場所」と呼びます。「論理クラスタ」および「ジョブの場所」という用語は同じ意味で使用できます。
ジョブ定義によりSYS_logicalClusterName
プロパティの値が指定されている場合、値は、論理クラスタの属性を定義するアプリケーション構成プロパティのセットに対する接頭辞として使用されます。表10-1は、ジョブの場所に関連付けられているプロパティをリストしており、ここでのprefixは論理クラスタ名を表します。これらのプロパティがホスティング・アプリケーションで構成されている場合、指定する必要があることに注意してください。
表10-1 ジョブの場所に関連付けられているプロパティ
プロパティ名 | 対応するシステム・プロパティ | 説明 |
---|---|---|
|
|
クラスタのJNDIプロバイダEJBジョブ・タイプで使用します。対応するシステム・プロパティである |
|
|
ホストとポート。たとえば、 |
|
|
WSDLのホストとポート。たとえば、 |
たとえば、ジョブによりSYS_logicalClusterName
プロパティがSOA_Cluster1
として定義されている場合、アプリケーション構成には、次のプロパティが含まれている場合があります。
LCN.SOA_Cluster1.WsEndpointBaseURL=http://host:port/ LCN.SOA_Cluster1.WsWsdlBaseURL=http://host:port/ LCN.SOA_Cluster1.JndiProviderURL=t3://host1;port1;host2:port2/
ノート:
SYS_logicalClusterName
プロパティの値には、「.」文字を含められません。