プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Server動的クラスタの拡張度の構成
12c (12.2.1)
E70079-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
 

9 スクリプト・インターセプタの構成

この章では、スケール・アップおよびスケール・ダウン操作の際、WebLogic Server 12.2.1を他のシステムと統合するためにスクリプト・インターセプタを構成、使用する方法を説明します。

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

スクリプト・インターセプタの概要

スケーリング操作時に、状況によっては他のシステムを起動する必要があります。たとえば、動的クラスタをスケール・アップする前には、新しいVMをプロビジョニングしたり、マシンを構成したりするために、仮想マネージャとの調整が必要になる場合があります。スクリプト・インターセプタは、他のシステムとの統合を支援するために構成されています。

スクリプト・インターセプタは、スケーリング操作の前(プリ・プロセッサ・スクリプト)と、スケーリング操作の後(ポスト・プロセッサ・スクリプト)のいずれかまたは両方で、スクリプトを実行できます。プリ・プロセッサまたはポスト・プロセッサ・スクリプトの実行時にエラーが発生した場合、スクリプト・インターセプタはエラー・ハンドラ・スクリプトの実行もできます。スケーリング操作のインターセプタ・チェーンでは複数のスクリプト・インターセプタ・インスタンスを使用できます。

スクリプト・インターセプタは、ScriptInterceptorMBeanを使用して構成されます。例9-1は、サンプル・スクリプト・インターセプタ構成です。

例9-1 スクリプト・インターセプタの構成

EditServiceMBean editService = mbsFactory.getEditService();
ConfigurationManagerMBean configManager = editService.getConfigurationManager();
configManager.startEdit(5000, 5000);

DomainMBean domainMBean = editService.getDomainConfiguration();
InterceptorsMBean interceptors = (InterceptorsMBean) domainMBean.getInterceptors();
ScriptInterceptorMBean scriptInterceptor1 = interceptors.createScriptInterceptor("script-1");
scriptInterceptor1.setPriority(50);
PreProcessorScriptMBean pre1 = scriptInterceptor1.getPreProcessor();
pre1.setWorkingDirectory(domainMBean.getRootDirectory());
pre1.setPathToScript("/bin/sh");
pre1.setArguments(new String[] {domainMBean.getRootDirectory() + "/scripts/interceptors/echo-arg-interceptor.sh", "first"});
Properties envAsProps = new Properties();
envAsProps.put("env-key-1", "env-1-value");
envAsProps.put("env-key-2", "env-2-value");
envAsProps.put("env-key-3", "env-3-value");
pre1.setEnvironment(envAsProps);

ScriptInterceptorMBean scriptInterceptor2 = interceptors.createScriptInterceptor("script-2");
scriptInterceptor2.setPriority(20);
PreProcessorScriptMBean pre2 = scriptInterceptor2.getPreProcessor();
pre2.setWorkingDirectory(domainMBean.getRootDirectory());
pre2.setPathToScript("/bin/sh");
pre2.setArguments(new String[] {domainMBean.getRootDirectory() + "/scripts/interceptors/echo-arg-interceptor.sh", "second"});

configManager.save();
configManager.activate(5000);

スクリプト・インターセプタは、WebLogic Server管理コンソールを使用して作成および構成することもできます。詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプの、スクリプト・インターセプタの作成に関する項およびスクリプト・インターセプタの全般的な設定の構成に関する項を参照してください。

プリ・プロセッサ・スクリプトの構成

プリ・プロセッサ・スクリプトは、スクリプト・インターセプタによってスケーリング操作の前に実行されます。

WebLogic Server管理コンソールを使用した、スクリプト・インターセプタでのプリ・プロセッサ・スクリプトの構成の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプスクリプト・インターセプタのプリ・プロセッサ・スクリプト設定の構成に関する項を参照してください。

ポスト・プロセッサ・スクリプトの構成

ポスト・プロセッサ・スクリプトは、スクリプト・インターセプタによって、スケーリング操作の後に実行されます。

WebLogic Server管理コンソールを使用した、スクリプト・インターセプタでのポスト・プロセッサ・スクリプトの構成の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプスクリプト・インターセプタのポスト・プロセッサ・スクリプト設定の構成に関する項を参照してください。

スクリプト・インターセプタのエラー処理の構成

スクリプト・インターセプタでプリ・プロセッサまたはポスト・プロセッサ・スクリプトを構成する場合、メイン・スクリプト実行中にエラーが発生した場合に使用するエラー・ハンドラ・スクリプトを指定できます。エラー・ハンドラ・スクリプトは、コマンド・スクリプトと同じ引数および環境プロパティを使用して実行されます。