この章では、スケール・アップおよびスケール・ダウン操作の際、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管理コンソール・オンライン・ヘルプでスクリプト・インターセプタのポスト・プロセッサ・スクリプト設定の構成に関する項を参照してください。
スクリプト・インターセプタでプリ・プロセッサまたはポスト・プロセッサ・スクリプトを構成する場合、メイン・スクリプト実行中にエラーが発生した場合に使用するエラー・ハンドラ・スクリプトを指定できます。エラー・ハンドラ・スクリプトは、コマンド・スクリプトと同じ引数および環境プロパティを使用して実行されます。