Oracle Event Processingでは、Java Management Extensions (JMX)仕様に完全に準拠した標準ベースのインタフェースが提供されます。ソフトウェア開発者は、これらのインタフェースを使用して、Oracle Event Processing管理bean (MBean)を監視し、Oracle Event Processingドメインの構成を変更し、Oracle Event Processingアプリケーションを監視できます。
この章の内容は次のとおりです。
現在、ローカルまたはリモート・サーバーでアプリケーション・ライブラリをデプロイおよびアンデプロイするためのMBeanサポートはありません。詳細は、「デプロイヤ・コマンドライン・リファレンス」を参照してください。
次のいずれかのツールを使用してMBeanを操作できます。
Oracle Event Processing Visualizer。
wlevs.Adminコマンドライン・ユーティリティ。「wlevs.Adminコマンドライン・リファレンスについて」を参照してください。
デプロイヤ・コマンドライン・デプロイメント・ユーティリティ。「デプロイヤ・コマンドライン・リファレンス」を参照してください。
jconsole (JDKによって提供されるJMXコンソール)。
標準JMX APIのあるJavaコード。http://www.oracle.com/technetwork/java/javase/tech/index-jsp-142926.htmlを参照してください。
Oracle Event Processing MBeanにアクセスするには、まずOracle Event Processing JMXサーバーに接続する必要があります。
Oracle Event Processingでは、JRMPプロトコルがサポートされていません。かわりに、JMXクライアントでは、Oracle Event Processing JMXサーバーにローカルおよびリモートからアクセスするために、よりセキュアなMSAプロトコルを使用する必要があります。
localhostまたはリモート・ホストで実行されているOracle Event Processing JMXサーバーに接続するとき、Oracle Event Processingサーバーへの接続元にするホストのクライアント・クラス・パスに、次のOracle Event ProcessingサーバーJARファイルをコピーする必要があります。
Oracle\Middleware\my_oep\oep\wlserver\modules\com.bea.core.jmx_13.0.0.0.jar
Oracle\Middleware\my_oep\oep\wlserver\modules\com.bea.core.rmi_13.0.0.0.jar
Oracle\Middleware\my_oep\oep\wlserver\modules\com.bea.core.jndi.context_13.0.0.0.jar
Oracle\Middleware\my_oep\oep\wlserver\modules\com.bea.core.logging_3.0.0.0.jar
Oracle\Middleware\my_oep\oep\wlserver\modules\com.bea.core.bootbundle_13.0.0.0.jar
次のコマンドライン・オプションおよびクラスパス(読みやすくするために区切っています)を使用して、JMXクライアント(例jconsole)を起動する必要があります。
java -Djmx.remote.protocol.provider.pkgs=com.bea.core.jmx.remote.provider -Dmx4j.remote.resolver.pkgs=com.bea.core.jmx.remote.resolver -Djava.naming.factory.initial=com.bea.core.jndi.context.ContextFactory -classpath %JAVA_HOME%\lib\jconsole.jar;MODULE_HOME\modules\com.bea.core.jmx_13.0.0.0.jar;MODULE_HOME\modules\com.bea.core.rmi_7.0.0.0.jar;MODULE_HOME\modules\com.bea.core.jndi.context_7.0.0.0.jar;MODULE_HOME\modules\com.bea.core.logging_1.5.0.0.jar;MODULE_HOME\modules\com.bea.core.bootbundle_8.0.0.0.jar sun.tools.jconsole.JConsole
MODULE_HOMEはOracle Event ProcessingサーバーJARファイルをコピーしたディレクトリです。
Oracle Event Processing JMXサーバーに接続する場合、常にMSAコネクタを使用するように、必ずJMX URL service:jmx:msarmi://HOST-NAME:port/jndi/jmxconnectorを使用する必要があります(HOST-NAMEはlocalhostまたはリモート・ホスト名で、portはOracle Event ProcessingサーバーのJNDIポートです)。
詳細は、次を参照してください。
Oracle Event Processingでは、構成および実行時MBeanが公開されています。
構成MBeanには、EPNコンポーネント、デプロイ済アプリケーション、サーバーおよびドメインに関する構成情報が含まれます。構成MBeanは固定の管理インタフェースを持ち、サーバーのconfig.xmlファイルおよびコンポーネントの構成ファイルに含まれている情報を表します。CQLProcessorMBeanおよびEventChannelMBeanは、構成MBeanの例です。
デプロイ済アプリケーション(アダプタ、チャネル、またはプロセッサ)のすべてのコンポーネントには、基になるコンポーネントの構成を管理する構成MBeanが指定されています。コンポーネント・タイプごとに、管理可能な独自のアーティファクトがあります。たとえば、チャネルの最大スレッド数やプロセッサに関連付けられたOracle CQLルールを動的に構成できます。
ランタイムMBeanには、ランタイムMBeanを使用するEPNの各コンポーネントの監視情報が含まれます。監視情報にはスループット(イベントのコンポーネント通過数)と待機時間(イベントのコンポーネント通過時間)が含まれます。
特定のMBeanの詳細は、Oracle Event Processing Java APIリファレンスを参照してください。
Oracle Event Processingアプリケーションをデプロイすると、管理容易性が有効になっているEPNの各コンポーネント、またはEPNアセンブリ・ファイルに登録されている各コンポーネントについて、構成MBeanがサーバーによって作成されます。アダプタの構成を拡張した場合、アダプタ用のカスタム構成MBeanがデプロイされます。
JMXを使用すると、コンポーネントの構成MBeanを使用してコンポーネントを動的に構成できます。たとえば、EventChannelMBean.setMaxSize()メソッドを使用してチャネル・コンポーネントのサイズを設定できます。
Oracle Event Processing構成MBeanは階層構造に編成されています。各MBeanのオブジェクト名は階層内でのそのMBeanの位置を表しています。
一般的なオブジェクトのネーミング・パターンは次のとおりです。
com.bea.wlevs:Name=name,Type=type,[TypeOfParentMBean=NameOfParentMBean]
説明:
com.bea.wlevs:はJMXドメイン名です。
Name=name,Type=type,[TypeOfParentMBean=NameOfParentMBean]は、一連のJMXキー・プロパティです。
キー・プロパティの順序は重要ではありませんが、オブジェクト名はcom.bea:wlevs:で開始する必要があります。
たとえば、ドメイン内のアプリケーションmyapplicationにmyprocessorと呼ばれるプロセッサがある場合、そのプロセッサに対応するMBeanのオブジェクト名は次のようになります。
com.bea.wlevs:Name=myprocessor,Type=CQLProcessor,Application=myapplication
表11-1は、Oracle Event ProcessingがMBeanオブジェクト名にエンコードするキー・プロパティについて説明します。
表11-1 Oracle Event Processing MBeanオブジェクト名のキー・プロパティ
| キー・プロパティ | 指定内容 |
|---|---|
Name=name
|
MBeanが表すリソースを作成したときに指定した文字列。通常はコンポーネントの名前です。 EPNアセンブリ・ファイル内に特定のコンポーネントの名前を指定するには、コンポーネント登録の たとえばプロセッサの場合、EPNアセンブリ・ファイル内のエントリは次のようになります。 <wlevs:processor id="myprocessor" advertise="true" /> この場合、キー・プロパティは |
Type=type
|
MBeanのタイプの短縮名。短縮名は、 たとえば、MBeanが |
TypeOfParentMBean=NameOfParentMBean
|
親MBeanのタイプと名前を指定します。 コンポーネントの場合は、常に 特定のOracle Event Processingアプリケーションの名前は、アプリケーション・バンドルに含まれる Manifest-Version: 1.0 Archiver-Version: Build-Jdk: 1.5.0_06 .... Bundle-SymbolicName: myapplication この場合、キー・プロパティは |
表11-2は、HelloWorldサンプルEPNアセンブリ・ファイルでのコンポーネント宣言に対応した構成MBeanオブジェクト名の例を示しています。個々の例で、アプリケーション名はhelloworldであり、ドメイン名はmyDomainです。
表11-2 コンポーネント宣言の例および対応するMBeanオブジェクト名
| EPNアセンブリ・ファイルでのコンポーネント宣言 | 対応する構成MBeanオブジェクト名 |
|---|---|
<wlevs:processor id="helloworldProcessor" /> |
com.bea.wlevs:Name=helloworldProcessor,Type=CQLProcessor,Application=helloworld,Domain=myDomain
|
<wlevs:channel id="helloworldInstream"> <wlevs:listener ref="helloworldProcessor"/> <wlevs:source ref="helloworldAdapter"/> </wlevs:channel> |
com.bea.wlevs:Name=helloworldInstream,Type=EventChannel,Application=helloworld,Domain=myDomain
|
ランタイムMBeanで、EPNの各コンポーネントについての監視情報を収集できます。Oracle Event Processingサーバーは各コンポーネントで監視できる次のメトリックを定義します。
スループット: コンポーネントで処理されるイベント数。このメトリックのパラメータは、スループット時間間隔、集約時間間隔、間隔を表す時間の単位です。
平均待機時間: イベントがコンポーネントを通過するのにかかる平均時間、または待機時間。パラメータ: 集計時間間隔、その間隔の時間単位。
最大待機時間: イベントがコンポーネントを通過するのにかかる最大時間。パラメータ: 集計時間間隔、その間隔の時間単位。
平均待機時間のしきい値: コンポーネントの開始点と終了点の間のイベントの平均待機時間が指定されたしきい値を超えたかどうかを指定します。パラメータ:集約時間間隔、しきい値、間隔を表す時間の単位。
ランタイムMBeanの命名には、構成MBeanと同じパターンが使用されDirectionというプロパティが1つ余分にあります。このプロパティには有効な値が2つあります。どの時点で統計を収集するかを指定するOUTBOUNDとINBOUNDです。OUTBOUNDは、指定したコンポーネントをイベントが離れたときにスループットと待機時間を収集することを示します。同様に、INBOUNDは、イベントがコンポーネントに入ったときに監視情報を収集することを示します。
たとえば、イベントがコンポーネントに入ったときにイベントを監視するアプリケーションmyapplicationにmyprocessorと呼ばれるプロセッサがある場合、そのプロセッサに対応するランタイムMBeanのオブジェクト名は次のようになります。
com.bea.wlevs:Name=myprocessor,Type=CQLProcessor,Application=myapplication,Direction=INBOUND
構成MBeanのネーミングの詳細は、「構成MBeanのネーミング」を参照してください。
すべてのMBeanは、javax.management.ObjectName型のオブジェクト名でMBeanサーバーに登録されなければなりません。Oracle Event Processingでは、子MBeanのオブジェクト名が親MBeanオブジェクト名の一部を含むという規則に準拠しています。
DomainMBeanおよびDomainRuntimeMBeanという主要な2つのMBeanルートがあります。前者にはドメイン全体の構成MBeanが含まれ、後者には、通常は単一のサーバー・インスタンスに限定されるランタイム情報(統計など)とローカル・サービス(監視など)が含まれます。
ApplicationMBeanはDomainMBeanの子であり、ServerMBeanの子ではありません。アプリケーションはドメイン内で一意であり、複数のサーバーにまたがって実行できるためです。
図11-1は、オブジェクト・モデルを構成する主なクラスと関係を示しています。
ほとんどのMBeanは通知を送信し、AttributeChangeNotificationsを生成します。JMXクライアントは、アプリケーション状態の変更、ドメインでのアプリケーションの挿入と削除、チャネル・サイズとスレッドの変更、ルールの挿入と削除などに関する属性変更通知を受け取るように登録できます。
JMXおよびOracle Event Processing Mbeanを使用してOracle Event Processingアプリケーション、サーバー、ドメインを管理する前に、まずJMXサービスをOracle Event Processingサーバーで構成する必要があります。
次のconfig.xmlファイルからのスニペットは、JMX構成を示します。
<config>
<netio>
<name>JettyNetio</name>
<port>12345</port>
</netio>
<work-manager>
<name>WM</name>
<fairshare>5</fairshare>
<min-threads-constraint>1</min-threads-constraint>
<max-threads-constraint>4</max-threads-constraint>
</work-manager>
<jetty>
<name>TestJetty</name>
<work-manager-name>WM</work-manager-name>
<network-io-name>JettyNetio</network-io-name>
</jetty>
<rmi>
<name>RMI</name>
<http-service-name>TestJetty</http-service-name>
</rmi>
<jndi-context>
<name>JNDI</name>
</jndi-context>
<exported-jndi-context>
<name>exportedJNDI</name>
<rmi-service-name>RMI</rmi-service-name>
</exported-jndi-context>
<jmx>
<jndi-service-name>JNDI</jndi-service-name>
<rmi-service-name>RMI</rmi-service-name>
</jmx>
</config>
Oracle Event Processingサーバーを示すconfig.xmlファイルにある次の要素を使用して、Oracle Event Processing JMXサービスを構成します。
JMXに影響するセキュリティ構成タスクの詳細は、「JMXセキュリティの構成」を参照してください。
jmx
表11-3は、構成が必要とされるconfig.xmlファイルのjmx要素のリストを示しています。
表11-3 jmx要素の構成パラメータ
| パラメータ | データ型 | 説明 |
|---|---|---|
rmi-service-name |
String |
jmxサーバーが呼出しの受信のために登録するRMIサービス名。 |
jndi-service-name |
String |
jmxサーバーがオブジェクトをバインドするJNDIサービス名。 |
rmi
Oracle Event Processing RMIサービスでは、次のものが提供されます。
クライアントからのリモート・メソッド呼出しのためにサーバーのPOJOインタフェースを登録する機能。
リモート・メソッド呼出し時にクライアントからサーバーへのコンテキスト伝播が行われるように登録し、インターセプトして、サーバー内のこの伝播されたコンテキストを操作する機能。
表11-4は、リモート・クライアントへのサーバー側オブジェクトのエクスポートに使用するconfig.xmlファイルのrmi要素の子要素のリストを示しています。
表11-4 rmi要素の構成パラメータ
| パラメータ | データ型 | 説明 |
|---|---|---|
heartbeat-period |
int |
ハートビートの試行失敗回数。この回数を超えると、登録されているすべてのリスナーへの切断通知がトリガーされます。 |
http-service-name |
String |
リモート・オブジェクトの登録に使用するHTTPサービス名(Jettyなど、「Jetty」を参照してください)。 |
heartbeat-interval |
int |
ハートビートの間隔(ミリ秒単位)。 失敗したハートビートの試行回数が |
name |
String |
この構成オブジェクトの名前。 |
jndi-context
JNDIファクトリ・マネージャは、OSGi環境でJNDIをサポートする役割を果たします。これにより、JNDIプロバイダがOSGiバンドルとして提供され、OSGiバンドルの内部で実行されるコードからJNDI環境への完全なアクセスが可能になります。
ファクトリ・マネージャは、次の2つのコンポーネントで構成されています。
OSGiバンドルはOSGi固有のファクトリ管理コードを提供し、適切なOSGiクラス・ローダーを使用してJNDIオブジェクトをルックアップします。
JNDIのグルー・コードはOracle Event Processing内部で動作し、ファクトリ・マネージャ・バンドルをサポートできるようにJNDI環境を初期化します。
表11-5は、構成が必要とされるconfig.xmlファイル内のjndi-context要素の子要素のリストを示しています。
図11-5 jndi-context要素の構成パラメータ
| パラメータ | データ型 | 説明 |
|---|---|---|
default-provider |
boolean |
デフォルト値は |
name |
String |
この構成オブジェクトの名前。 |
exported-jndi-context
構成済jndi-contextが必要です。
RMIを使用しているクライアントにリモートJNDIサービスをエクスポートするには、この構成オブジェクトを使用します。JNDIコンテキストをRMIサービスに登録することにより、InitialContextオブジェクトで、プロバイダURLのパラメータを渡すクライアントへのリモート・アクセスが提供されます。
表11-6は、構成が必要とされるconfig.xmlファイル内のexported-jndi-context要素の子要素のリストを示しています。
表11-6 exported-jndi-context要素の構成パラメータ
| パラメータ | データ型 | 説明 |
|---|---|---|
rmi-service-name |
String |
ネットワークでこのJNDIコンテキストを処理するために使用されるRMIサービスの名前。既存の |
name |
String |
この構成オブジェクトの名前。 この要素の値は、同じ |
この項では、JMXを使用したOracle Event Processingコンポーネントの管理の例を説明します。
次に例を示します。
注意:
Jconsoleを使用する際、Oracle Event Processing wlevsjconsole.cmdまたはwlevsjconsole.shスクリプトで開始します。jconsoleを直接開始できません。
この項では、非Oracle Event ProcessingクライアントからOracle Event Processing JMXサーバーに接続する際のJMX API (http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement)を使用したJavaコードの記述方法を説明します。これはあらゆるプログラマチックJMX管理への最初のステップです。
Oracle Event Processing JMXサーバーに別のOracle Event Processingサーバーから接続する際の情報は、APIを使用した、Oracle Event ProcessingクライアントからJMXサーバーへの接続を参照してください。
APIを使用した、非Oracle Event ProcessingクライアントからJMXサーバーへの接続:
この項では、Oracle Event Processing JMXサーバーに、別のOracle Event Processingサーバーから接続する際のJMX API (http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement)を使用したJavaコードの記述方法を説明します。これはあらゆるプログラマチックJMX管理への最初のステップです。
Oracle Event Processing JMXサーバーに非Oracle Event Processingクライアントから接続する際の情報は、APIを使用した、Oracle以外のEvent ProcessingクライアントからJMXサーバーへの接続を参照してください。
APIを使用した、Oracle Event ProcessingクライアントからJMXサーバーへの接続:
この項では、Oracle Event Processing MBeanにアクセスする際の、JMX API (http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement)を使用したJavaコードの記述方法を説明します。
JMX APIを使用したOracle Event Processingコンポーネントの構成:
この項では、Oracle Event Processing MBeanにアクセスしてOracle Event Processingコンポーネントのスループットと待機時間を動的に監視する場合のJMX API (http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement)を使用したJavaコードの記述方法を説明します。
JMX APIを使用したOracle Event Processingコンポーネントの動的な構成:
Oracle Event Processing JMXサーバーへの接続を取得します。
詳細は、「APIを使用した、Oracle以外のEvent ProcessingクライアントからJMXサーバーへの接続」を参照してください。
次に示すように監視するコンポーネントにはMonitorRuntimeMBeanのインスタンスを取得します。
ObjectName processorInbound = ObjectName.getInstance(
"com.bea.wlevs:Name=myprocessor," +
"Type=CQLProcessor," +
"Application=myapplication," +
"Direction=INBOUND"
);
着信イベント(INBOUND)または発信イベント(OUTBOUND)のどちらを監視するのかを必ず指定します。
次に示すように統計のタイプに応じてMonitorRuntimeMBeanを使用して、ProbeRuntimeMBeanのインスタンスを取得します。
ObjectName monitorName =
ObjectName.getInstance(
"com.bea.wlevs:ServerRuntime=localhost," +
"Name=MonitorRuntime," +
"Type=MonitorRuntime");
MonitorRuntimeMBean monitorMBean = (MonitorRuntimeMBean)MBeanServerInvocationHandler.newProxyInstance(
connection,
monitorName,
MonitorRuntimeMBean.class,
false);
ObjectName probeName = monitorMBean.monitorAvgThroughput(
processorInbound,
1000,
1000
);
ProbeRuntimeMBean probeOn = (ProveRuntimeMBean)MBeanServerInvocationHandler.newProxyInstance(
connection,
probeName,
ProbeRuntimeMBean.class,
false
);
MonitorRuntimeMBeanには、収集可能な統計のタイプごとに使用できるメソッドがあります。たとえば、平均待機時間を監視する場合はmonitorAvgLatency()を実行し、平均待機時間を監視する場合はmonitorAvgThroughput()を実行します。これらのメソッドはすべてProbeRuntimeMBeanを返します。
ProbeRuntimeMbeanのインスタンスを使用して、実際の実行時メトリックを取得するには次のいずれかの方法があります。
ProbeRuntimeMBeanのgetMetric()メソッドを使用して情報を取得します。
javax.management.NotificationBroadcaster.addNotificationListener()を使用して、メトリックに変更があるたびに送信される情報を取得します。
監視情報の収集が完了したら、次に示すようにMBeanサーバーからMBeanを登録解除します。
probON.terminate();
これらのMBeanインタフェースの詳細、およびこれらのMBeanインタフェースを使用してスループットと待機時間を監視する方法については、Oracle Event ProcessingのJava APIリファレンスのcom.bea.wlevs.monitor.managementパッケージを参照してください。
wlevsjconsoleスクリプトを使用して、ローカル・ホストまたはリモート・ホストで実行されているOracle Event Processing JMXサーバーに接続し、JDK jconsoleでOracle Event Processing MBeanのブラウズと管理ができます。
この方法は、Oracle Event Processingサーバーのセキュリティが有効の場合、Jconsoleをどのように使用するかを説明します。これはデフォルトの構成であり、本番サーバーで使用することはお薦めします。かわりに、セキュリティが無効なJMXサーバーに接続できます(「セキュリティが無効なJconsoleを使用したローカルまたはリモートJMXサーバーへの接続」を参照してください)。
詳細は、「Oracle Event Processing JMXサーバーへのアクセス」を参照してください。
注意:
Jconsoleを使用する際、Oracle Event Processing wlevsjconsole.cmdまたはwlevsjconsole.shスクリプトで開始します。jconsoleを直接開始できません。
セキュリティが有効なJconsoleを使用したローカルまたはリモートJMXサーバーへの接続:
ローカルまたはリモートOracle Event Processingサーバーが実行されていることを確認します。
/Oracle/Middleware/my_oep/oep/binディレクトリにあるwlevsjconsole.cmdまたはwlevsjconsole.shスクリプトを使用して、jconsoleを起動します。
ローカルOracle Event Processingサーバーに接続するには、次を入力します。
prompt> wlevsjconsole.cmd
リモートOracle Event Processingサーバーに接続するには、次を入力します。
prompt> wlevsjconsole.cmdHOST-NAME:PORT
HOST-NAMEはリモート・ホストの名前、PORTはNet IOポートで、リモート・ホストの/Oracle/Middleware/my_oep/user_projects/domains/myDomain/defaultserver/config/config.xmlファイル中に構成されています。
jconsoleブラウザはJMXサーバーへログインをしようとしますが、図11-2で示すように最初に失敗します。
「取消」をクリックします。
図11-3で示すように、Jconsole:「新しい接続」ダイアログが表示されます。
表11-7で説明するように「新しい接続」ダイアログを構成します。
表11-7 Jconsole新しい接続属性
| 属性 | 説明 |
|---|---|
|
次のURLを入力します。 service:jmx:msarmi://
|
|
Oracle Event Processing管理ユーザー名: oepadminを入力します。 |
|
Oracle Event Processing管理パスワード: welcome1を入力します。 |
「接続」をクリックします。
jconsoleブラウザが開くと、**INTERNAL XREF ERROR**で示すようにOracle Event Processing MBeanにアクセスできます。
wlevsjconsoleスクリプトを使用して、ローカル・ホストまたはリモート・ホストで実行されているOracle Event Processing JMXサーバーに接続し、JDK jconsoleでOracle Event Processing MBeanのブラウズと管理ができます。
この方法は、Oracle Event Processingサーバーのセキュリティが無効の場合、Jconsoleをどのように使用するかを説明します。これは共通の開発構成でり、本番サーバーで使用することはお薦めしません。かわりに、セキュリティが有効なJMXサーバーに接続できます(「セキュリティが無効なJconsoleを使用したローカルまたはリモートJMXサーバーへの接続」を参照してください)。
詳細は、「Oracle Event Processing JMXサーバーへのアクセス」を参照してください。
注意:
Jconsoleを使用する際、Oracle Event Processing wlevsjconsole.cmdまたはwlevsjconsole.shスクリプトで開始します。jconsoleを直接開始できません。
セキュリティが無効なJconsoleを使用したローカルまたはリモートJMXサーバーへの接続:
セキュリティが無効の状態でローカルまたはリモートOracle Event Processingサーバーが実行されていることを確認します。
詳細は、「セキュリティの無効化」を参照してください。
/Oracle/Middleware/my_oep/oep/binディレクトリにあるwlevsjconsole.cmdまたはwlevsjconsole.shスクリプトを使用して、jconsoleを起動します。
ローカルOracle Event Processingサーバーに接続するには、次を入力します。
prompt> wlevsjconsole.cmd
リモートOracle Event Processingサーバーに接続するには、次を入力します。
prompt> wlevsjconsole.cmdHOST-NAME:PORT
HOST-NAMEはリモート・ホストの名前、PORTはNet IOポートで、リモート・ホストの/Oracle/Middleware/my_oep/user_projects/domains/myDomain/defaultserver/config/ config.xmlファイル中に構成されています。
スクリプトが自動的にJMXサーバーに接続し、jconsoleブラウザが開くと、図11-5で示すようにOracle Event Processing Mbeanにアクセスできます。