Red Hat Training
A Red Hat training course is available for Red Hat JBoss Operations Network
6.3. 新規モジュールソースタイプの作成
JBoss ON は、ローカルディレクトリーとリモートリポジトリーの両方を含む、さまざまな場所から CommonJS スクリプトモジュールをロードできます。
URL などの異なるソースからモジュールを読み込むサポートを作成できます。新しいモジュールソースの場所を作成するには、以下の 3 つの項目が必要です。
- 新規の作成
ScriptSourceProvider
インターフェース。 - クラスの JAR の
META-INF/services
ディレクトリーに Java サービスエントリーを追加します。 - 新しい JAR をクライアントおよび JBoss ON サーバーで使用できるように
lib/
CLI インストールディレクトリーのディレクトリーにserverRoot/jon-server-3.3/modules/org/rhq/server-startup/main/deployments/rhq.ear/lib
配置し、サーバー側のスクリプト(alert スクリプト)で使用できるようにします。
例6.1 HTTP モジュールソースの場所
このスクリプトソースプロバイダーは、Java バージョンが HTTP または HTTPS プロトコルに対応している限り、指定の URI からスクリプトモジュールをダウンロードします。
public class URLScriptSourceProvider implements ScriptSourceProvider { public Reader getScriptSource(URI scriptUri) { if (scriptUri == null) { return null; } try { return new InputStreamReader(scriptUri.toURL().openStream()) } catch (MalformedURLException e) { return null; } catch (IOException e) { return null; } } }
スクリプトプロバイダー JAR の
META-INF
ディレクトリーに services
ディレクトリーを作成します。
次に、
META-INF/services/
ディレクトリー内に、というファイルを作成します。 org.rhq.scripting.ScriptSourceProvider
.JAR に実装されたソースプロバイダーの完全なクラス名(行ごとに 1 つ)を追加します。たとえば、 URLScriptSourceProvider
唯一のソースプロバイダーです。
com.example.URLScriptSourceProvider
これは JAR のレイアウトです。
* com * example * URLScriptSourceProvider.class * META-INF * services * org.rhq.scripting.ScriptSourceProvider
この JAR は、
lib
CLI インストールディレクトリーに ba を追加する必要があります。その後、スクリプトは、そのシステムの JBoss ON CLI で実行され、HTTP プロバイダーを使用してネットワークからファイルをダウンロードできます。
var myModule = require("http://server.example.com/rhq-scripts/stuff_js");
同じソースプロバイダーをアラートスクリプトで使用できるようにするには、JAR を JBoss ON サーバーの
modules/org/rhq/server-startup/main/deployments/rhq.ear/lib/
ディレクトリーに追加する必要があります。