Fusion Middleware Oracle Complex Event Processing管理者ガイド

11gリリース1 (11.1.1.6.2)

B61653-04(原本部品番号:E14300-08)

目次

例一覧

図一覧

表一覧

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

リリース11.1.1.6.x用のこのガイドでの新しい情報

第I部 概要

1 Oracle CEPサーバー管理の概要

- 1.1 Oracle CEPサーバーとドメインの理解

- 1.2 Oracle CEPサーバー・ライフサイクルの理解

- 1.2.1 ユーザーのアクション: Oracle CEPサーバーの起動

- 1.2.2 ユーザーのアクション: Oracle CEPサーバーの停止

- 1.3 Oracle CEPサーバー構成の理解

- 1.3.1 Oracle CEPサーバー構成ファイル

- 1.3.2 config.xmlファイルの手動編集によるOracle CEPサーバーの構成

- 1.3.3 構成履歴管理

- 1.3.4 Oracle CEPサーバーのbootclasspathの構成

- 1.3.4.1 Oracle CEPサーバーのbootclasspathを構成する方法

- 1.4 Oracle CEPサーバー管理ツールの理解

- 1.4.1 構成ウィザード

- 1.4.2 Oracle CEP Visualizer

- 1.4.3 wlevs.Adminコマンドライン・ユーティリティ

- 1.4.4 デプロイヤ・コマンドライン・ユーティリティ

- 1.4.5 セキュリティ・コマンドライン・ユーティリティ

- 1.4.6 JMX

- 1.5 Oracle CEPサーバー管理タスクの理解

- 1.5.1 Oracle CEPサーバーとドメインの作成

- 1.5.2 Oracle CEPサーバーとドメインの更新

- 1.5.3 Oracle CEPサーバーの構成

- 1.5.4 Oracle CEPサーバーの起動と停止

- 1.5.5 Oracle CEPサーバーへのアプリケーションのデプロイメント

- 1.5.6 Oracle CEPアプリケーション、サーバーおよびドメインの管理

第II部 スタンドアロンサーバー・ドメイン

2 スタンドアロンサーバー・ドメインの概要

- 2.1 Oracle CEPスタンドアロンサーバー・ドメイン管理の概要

- 2.2 スケーラビリティおよびOracle CEPスタンドアロンサーバー・ドメイン

- 2.3 次のステップ

3 Oracle CEPスタンドアロンサーバー・ドメインの管理

- 3.1 Oracle CEPスタンドアロンサーバー・ドメインの作成

- 3.1.1 グラフィカル・モードで構成ウィザードを使用してOracle CEPスタンドアロンサーバー・ドメインを作成する

- 3.2 Oracle CEPスタンドアロンサーバー・ドメインの更新

- 3.2.1 グラフィカル・モードで構成ウィザードを使用してOracle CEPスタンドアロンサーバー・ドメインを更新する方法

- 3.3 スタンドアロンサーバー・ドメインのOracle CEPサーバーの起動と停止

- 3.3.1 startwlevsスクリプトを使用したOracle CEPスタンドアロンサーバーの起動方法

- 3.3.2 stopwlevsスクリプトを使用したOracle CEPスタンドアロンサーバーの停止方法

4 スタンドアロンサーバー・ドメインへのアプリケーションのデプロイ

- 4.1 Oracle CEPスタンドアロンサーバー・ドメインへのアプリケーションのデプロイ

- 4.1.1 Oracle CEP Visualizerを使用してOracle CEPスタンドアロンサーバーへのアプリケーションをデプロイする方法

- 4.1.2 デプロイヤ・ユーティリティを使用したOracle CEPシングルトン・サーバー・グループへのアプリケーションをデプロイする方法

第III部 マルチサーバー・ドメイン

5 マルチサーバー・ドメインの概要

- 5.1 Oracle CEPマルチサーバー・ドメインの管理の概要

- 5.1.1 Oracle Coherenceクラスタリング

- 5.1.2 Oracle CEPネイティブ・クラスタリング

- 5.2 グループ

- 5.2.1 シングルトン・サーバー・デプロイメント・グループ

- 5.2.2 ドメイン・デプロイメント・グループ

- 5.2.3 カスタム・デプロイメント・グループ

- 5.3 マルチサーバーの通知およびメッセージング

- 5.4 マルチサーバー・ドメインのディレクトリ構造

- 5.5 cluster要素の子要素の順序

- 5.6 高可用性およびマルチサーバー・ドメイン

- 5.7 スケーラビリティおよびマルチサーバー・ドメイン

- 5.8 次のステップ

6 Oracle Coherenceを使用したマルチサーバー・ドメインの管理

- 6.1 Oracle Coherenceを使用したOracle CEPマルチサーバー・ドメインの作成

- 6.1.1 Oracle Coherenceを使用したデフォルト・グループによるOracle CEPマルチサーバー・ドメインの作成方法

- 6.1.2 Oracle Coherenceを使用したカスタム・グループによるOracle CEPマルチサーバー・ドメインの作成方法

- 6.1.3 Oracle Coherenceクラスタの構成

- 6.1.3.1 tangosol-coherence-override.xmlファイル

- 6.2 Oracle Coherenceを使用したOracle CEPマルチサーバー・ドメインの更新

- 6.2.1 グラフィカル・モードでの構成ウィザードを使用したOracle CEPマルチサーバー・ドメインの更新方法

- 6.3 マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護

- 6.3.1 Oracle Coherenceを使用したマルチサーバー・ドメインのサーバー間で送信されるメッセージの保護方法

- 6.4 マルチサーバー・ドメインAPIを使用したグループ・メンバーシップの変更管理

- 6.5 マルチサーバー・ドメインのOracle CEPサーバーの起動と停止

7 Oracle CEPネイティブ・クラスタリングを使用したマルチサーバー・ドメインの管理

- 7.1 Oracle CEPネイティブ・クラスタリングを使用したOracle CEPマルチサーバー・ドメインの作成

- 7.1.1 Oracle CEPネイティブ・クラスタリングを使用したデフォルト・グループによるOracle CEPマルチサーバー・ドメインの作成方法

- 7.1.2 Oracle CEPネイティブ・クラスタリングを使用したカスタム・グループによるOracle CEPマルチサーバー・ドメインの作成方法

- 7.2 Oracle CEPネイティブ・クラスタリングを使用したOracle CEPマルチサーバー・ドメインの更新

- 7.2.1 グラフィカル・モードでの構成ウィザードを使用したOracle CEPマルチサーバー・ドメインの更新方法

- 7.3 マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護

- 7.3.1 Oracle CEPネイティブ・クラスタリングを使用したマルチサーバー・ドメインのサーバー間で送信されるメッセージの保護方法

- 7.4 マルチサーバー・ドメインAPIを使用したグループ・メンバーシップの変更管理

- 7.5 マルチサーバー・ドメインのOracle CEPサーバーの起動と停止

8 マルチサーバー・ドメインへのアプリケーションのデプロイ

- 8.1 Oracle CEPマルチサーバー・ドメインへのアプリケーションのデプロイの概要

- 8.2 Oracle CEP Visualizerを使用したOracle CEPサーバーへのデプロイ

- 8.3 デプロイヤ・ユーティリティを使用したOracle CEPサーバー・シングルトン・グループへのデプロイ

- 8.4 デプロイヤ・ユーティリティを使用したOracle CEPサーバー・ドメイン・グループへのデプロイ

- 8.5 デプロイヤ・ユーティリティを使用したOracle CEPサーバー・カスタム・グループへのデプロイ

- 8.6 マルチサーバー・ドメイン・デプロイメントのトラブルシューティング

- 8.6.1 デプロイメント後のOracle CEPサーバーによるアプリケーションの停止

第IV部 サービスの構成

9 Oracle CEP用のネットワークI/Oの構成

- 9.1 Oracle CEPにおけるネットワークI/Oの概要

- 9.1.1 ネットワークI/Oプロバイダ

- 9.1.2 IPv4およびIPv6のサポート

- 9.2 ネットワークI/Oサーバー(netio)の構成

- 9.2.1 ネットワークI/Oサーバーを構成する方法

- 9.3 ネットワークI/Oクライアント(netio-client)の構成

- 9.3.1 ネットワークI/Oクライアントを構成する方法

10 Oracle CEPのセキュリティの構成

- 10.1 Oracle CEPにおけるセキュリティの概要

- 10.1.1 Java SEセキュリティ

- 10.1.2 セキュリティ・プロバイダ

- 10.1.3 ユーザー、グループおよびロール

- 10.1.4 SSL

- 10.1.5 FIPS

- 10.1.6 セキュリティの有効化と無効化

- 10.1.7 セキュリティ・ユーティリティ

- 10.1.8 コマンドライン・ユーティリティ使用時のユーザー資格証明の指定

- 10.1.9 Oracle CEPの例およびドメインにおけるセキュリティ

- 10.2 Oracle CEPサーバーのJava SEセキュリティの構成

- 10.3 セキュリティ・プロバイダの構成

- 10.3.1 LDAPプロバイダを使用した認証およびDBMSプロバイダを使用した認可の構成

- 10.3.2 DBMSプロバイダを使用した認証と認可の両方の構成

- 10.4 パスワードの強度の構成

- 10.5 セキュア・ネットワーク・トラフィックへのSSLの構成

- 10.5.1 手動でSSLを構成する方法

- 10.5.2 手動でキーストアを作成する方法

- 10.5.3 Oracle CEP Visualizer用のマルチサーバー・ドメインでSSLを構成する方法

- 10.6 Oracle CEPサーバーのFIPSの構成

- 10.7 Oracle CEPサーバー用のHTTPS専用接続の構成

- 10.8 Oracle CEPサーバー・サービス用のセキュリティの構成

- 10.8.1 Jettyセキュリティの構成

- 10.8.2 JMXセキュリティの構成

- 10.8.3 JDBCセキュリティの構成

- 10.8.4 HTTPパブリッシュ/サブスクライブ・サーバー・チャネルのセキュリティの構成

- 10.9 Oracle CEP Visualizerのクロスドメイン・セキュリティの構成

- 10.10 Oracle CEPセキュリティ監査プログラムの構成

- 10.11 セキュリティの無効化

11 Oracle CEP用のJettyの構成

- 11.1 Oracle Complex Event ProcessingにおけるJettyサポートの概要

- 11.1.1 サーブレット

- 11.1.2 ネットワークI/Oの統合

- 11.1.3 スレッド・プールの統合

- 11.1.4 Jettyワーク・マネージャ

- 11.1.4.1 Oracle CEPがスレッド・プールを使用する仕組みの理解

- 11.1.4.2 ワーク・マネージャの構成の理解

- 11.2 Jettyサーバー・インスタンスの構成

- 11.2.1 jetty構成オブジェクト

- 11.2.2 netio構成オブジェクト

- 11.2.3 work-manager構成オブジェクト

- 11.2.4 jetty-web-app構成オブジェクト

- 11.2.5 Jetty用サーブレットの開発

- 11.2.6 Webアプリケーションのデプロイメント

- 11.3 Jetty構成の例

12 Oracle CEP用のJMXの構成

- 12.1 Oracle CEPにおけるJMXサポートの概要

- 12.1.1 JMX構成の理解

- 12.1.2 JMX管理の理解

- 12.1.2.1 Oracle CEP JMXサーバーへのアクセス

- 12.1.2.2 構成MBeanへのアクセス

- 12.1.2.3 Oracle CEPランタイムMBeanへのアクセス

- 12.1.3 Oracle CEP MBeanの理解

- 12.1.3.1 Oracle CEP構成MBean

- 12.1.3.2 Oracle CEPランタイムMBean

- 12.1.3.3 Oracle CEP MBeanの階層

- 12.2 JMXの構成

- 12.2.1 jmx構成オブジェクト

- 12.2.2 rmi構成オブジェクト

- 12.2.3 jndi-context構成オブジェクト

- 12.2.4 exported-jndi-context構成オブジェクト

- 12.2.5 JMXの構成の例

- 12.3 JMXによる管理

- 12.3.1 Oracle以外のCEPクライアントからOracle CEP JMXサーバーへのプログラムで接続する方法

- 12.3.2 Oracle CEPクライアントからOracle CEP JMXサーバーにプログラムで接続する方法

- 12.3.3 JMX APIを使用してOracle CEPコンポーネントをプログラムで構成する方法

- 12.3.4 JMX APIを使用してOracle CEPコンポーネントのスループットおよび待機時間をプログラムで監視する方法

- 12.3.5 セキュリティを有効化したJConsoleを使用してローカルまたはリモートのOracle CEP JMXサーバーに接続する方法

- 12.3.6 セキュリティを無効化したJConsoleを使用してローカルまたはリモートのOracle CEP JMXサーバーに接続する方法

13 Oracle CEPで使用するJDBCの構成

- 13.1 Oracle CEPアプリケーションからのデータベース・アクセスの概要

- 13.1.1 Oracle JDBCドライバ

- 13.1.2 DataDirectのSQL Server用Type 4 JDBCドライバ

- 13.1.3 サポートされるデータベース

- 13.1.3.1 Oracle JDBCドライバによってサポートされるデータベース

- 13.1.3.2 DataDirectのSQL Server用Type 4 JDBCドライバによってサポートされるデータベース

- 13.2 Oracle CEPデータ・ソースの説明

- 13.2.1 デフォルト・データ・ソースの構成

- 13.2.2 カスタム・データ・ソースの構成

- 13.2.3 ネイティブJDBC接続の取得

- 13.3 Oracle JDBCドライバを使用したデータベースへのアクセスの構成

- 13.4 DataDirectのType 4 JDBCドライバを使用したデータベースへのアクセスの構成

- 13.5 異なるデータベース・ドライバまたはドライバ・バージョンへのアクセスの構成

- 13.5.1 bundler.shによってビルドされたアプリケーション・ライブラリを使用したデータベース・ドライバにアクセスする方法

- 13.5.2 Oracle CEP IDE for Eclipseによってビルドされたアプリケーション・ライブラリを使用したデータベース・ドライバにアクセスする方法

- 13.5.3 bootclasspathを使用したデータベース・ドライバにアクセスする方法

14 Oracle CEPのHTTPパブリッシュ/サブスクライブの構成

- 14.1 HTTPパブリッシュ/サブスクライブの概要

- 14.1.1 HTTPパブリッシュ/サブスクライブ・サーバーが機能する仕組み

- 14.1.2 Oracle CEPにおけるHTTPパブリッシュ/サブスクライブ・サーバーのサポート

- 14.2 新規HTTPパブリッシュ/サブスクライブ・サーバーの作成

- 14.3 既存HTTPパブリッシュ/サブスクライブ・サーバーの構成

- 14.4 HTTPパブリッシュ/サブスクライブ・サーバーの構成例

15 Oracle CEPのロギングとデバッグの構成

- 15.1 ロギングとデバッグの構成の概要

- 15.1.1 Commons Apacheログ・フレームワーク

- 15.1.1.1 ログ・ファクトリの設定

- 15.1.1.2 ログ重大度レベルの使用

- 15.1.1.3 ログ・ファイル

- 15.1.1.4 ログ・メッセージ形式

- 15.1.2 OSGiフレームワーク・ロガー

- 15.1.3 Log4jロガー

- 15.1.3.1 ロガー

- 15.1.3.2 アペンダ

- 15.1.3.3 レイアウト

- 15.2 Oracle CEPロギング・サービスの構成

- 15.2.1 logging-service

- 15.2.2 log-file

- 15.2.3 log-stdout

- 15.2.4 各モジュールの重大度の構成

- 15.3 Log4jロギングの構成

- 15.3.1 log4jプロパティの構成

- 15.3.2 アプリケーション・マニフェストの構成

- 15.3.3 Log4jロギングの有効化

- 15.3.4 Log4jロギングのデバッグ

- 15.4 Apache Commons Logging APIの使用

- 15.5 Oracle CEPデバッグ・オプションの構成

- 15.5.1 システム・プロパティを使用したOracle CEPデバッグ・オプションの構成方法

- 15.5.2 構成ファイルを使用したOracle CEPデバッグ・オプションの構成方法

第V部 リファレンス

A wlevs.Adminコマンドライン・リファレンス

- A.1 wlevs.Adminユーティリティの概要

- A.2 wlevs.Adminユーティリティ環境の構成

- A.3 リモートでwlevs.Adminユーティリティの実行

- A.4 SSLモードでのwlevs.Adminユーティリティの実行

- A.5 wlevs.Adminユーティリティを起動するための構文

- A.5.1 環境の例

- A.5.2 wlevs.Adminによって戻された終了コード

- A.6 接続引数

- A.7 ユーザー資格証明の引数

- A.8 共通引数

- A.9 使用方法ヘルプを起動するためのコマンド

- A.9.1 HELP

- A.9.1.1 構文

- A.9.1.2 例

- A.10 サーバー・ライフサイクルを管理するためのコマンド

- A.10.1 SHUTDOWN

- A.10.1.1 構文

- A.10.1.2 例

- A.11 アプリケーションのOracle CQLルールを管理するためのコマンド

- A.11.1 GETRULE

- A.11.1.1 構文

- A.11.1.2 例

- A.11.2 ADDRULE

- A.11.2.1 構文

- A.11.2.2 例

- A.11.3 DELETERULE

- A.11.3.1 構文

- A.11.3.2 例

- A.11.4 REPLACERULE

- A.11.4.1 構文

- A.11.4.2 例

- A.11.5 STARTRULE

- A.11.5.1 構文

- A.11.5.2 例

- A.11.6 STOPRULE

- A.11.6.1 構文

- A.11.6.2 例

- A.11.7 UPLOAD

- A.11.7.1 構文

- A.11.7.2 例

- A.11.8 DOWNLOAD

- A.11.8.1 構文

- A.11.8.2 例

- A.12 アプリケーションのEPLルールを管理するためのコマンド

- A.12.1 ADDRULE

- A.12.1.1 構文

- A.12.1.2 例

- A.12.2 DELETERULE

- A.12.2.1 構文

- A.12.2.2 例

- A.12.3 REPLACERULE

- A.12.3.1 構文

- A.12.3.2 例

- A.12.4 GETRULE

- A.12.4.1 構文

- A.12.4.2 例

- A.12.5 ADDPARAMS

- A.12.5.1 構文

- A.12.5.2 例

- A.12.6 DELETEPARAMS

- A.12.6.1 構文

- A.12.6.2 例

- A.12.7 GETPARAMS

- A.12.7.1 構文

- A.12.7.2 例

- A.12.8 UPLOAD

- A.12.8.1 構文

- A.12.8.2 例

- A.12.9 DOWNLOAD

- A.12.9.1 構文

- A.12.9.2 例

- A.13 Oracle CEP MBeanを管理するためのコマンド

- A.13.1 MBeanタイプの指定

- A.13.2 MBean管理コマンド

- A.13.3 GET

- A.13.3.1 構文

- A.13.3.2 例

- A.13.4 INVOKE

- A.13.4.1 構文

- A.13.4.2 例

- A.13.5 QUERY

- A.13.5.1 構文

- A.13.5.2 例

- A.13.5.3 アプリケーションおよびプロセッサの名前の問合せ

- A.13.6 SET

- A.13.6.1 構文

- A.13.6.2 例

- A.14 イベントの記録および再生を制御するためのコマンド

- A.14.1 STARTRECORD

- A.14.1.1 構文

- A.14.1.2 例

- A.14.2 STOPRECORD

- A.14.2.1 構文

- A.14.2.2 例

- A.14.3 CONFIGURERECORD

- A.14.3.1 構文

- A.14.3.2 例

- A.14.4 SCHEDULERECORD

- A.14.4.1 構文

- A.14.4.2 例

- A.14.5 LISTRECORD

- A.14.5.1 構文

- A.14.5.2 例

- A.14.6 STARTPLAYBACK

- A.14.6.1 構文

- A.14.6.2 例

- A.14.7 STOPPLAYBACK

- A.14.7.1 構文

- A.14.7.2 例

- A.14.8 CONFIGUREPLAYBACK

- A.14.8.1 構文

- A.14.8.2 例

- A.14.9 SCHEDULEPLAYBACK

- A.14.9.1 構文

- A.14.9.2 例

- A.14.10 LISTPLAYBACK

- A.14.10.1 構文

- A.14.10.2 例

- A.15 スループットおよび待機時間を監視するためのコマンド

- A.15.1 MONITORAVGLATENCY

- A.15.1.1 構文

- A.15.1.2 例

- A.15.2 MONITORAVGLATENCYTHRESHOLD

- A.15.2.1 構文

- A.15.2.2 例

- A.15.3 MONITORMAXLATENCY

- A.15.3.1 構文

- A.15.3.2 例

- A.15.4 MONITORAVGTHROUGHPUT

- A.15.4.1 構文

- A.15.4.2 例

- A.16 構成履歴を管理するためのコマンド

- A.16.1 CONFIGHISTORY

- A.16.1.1 構文

- A.16.1.2 例

- A.16.2 DELETECONFIGCHANGEHISTORY

- A.16.2.1 構文

- A.16.2.2 例

- A.16.3 LISTCHANGERECORDS

- A.16.3.1 構文

- A.16.3.2 例

- A.16.4 LISTRESOURCEREVISIONS

- A.16.4.1 構文

- A.16.4.2 例

- A.16.5 UNDOCONFIGCHANGE

- A.16.5.1 構文

- A.16.5.2 例

B デプロイヤ・コマンドライン・リファレンス

- B.1 デプロイヤ・コマンドライン・ユーティリティの使用方法の概要

- B.2 デプロイヤ・ユーティリティ環境の構成

- B.3 リモートでのデプロイヤ・ユーティリティの実行

- B.4 デプロイヤ・ユーティリティを起動するための構文

- B.4.1 接続引数

- B.4.2 ユーザー資格証明の引数

- B.4.3 デプロイメント・コマンド

- B.5 デプロイヤ・ユーティリティの使用例

C セキュリティ・ユーティリティ・コマンドライン・リファレンス

- C.1 cssconfigコマンドライン・ユーティリティ

- C.1.1 cssconfigの構文

- C.2 encryptMSAConfigコマンドライン・ユーティリティ

- C.2.1 encryptMSAConfigの構文

- C.3 GrabCertコマンドライン・ユーティリティ

- C.3.1 GrabCertの構文

- C.3.2 GrabCertの使用例

- C.4 passgenコマンドライン・ユーティリティ

- C.4.1 passgenの構文

- C.4.2 passgenの使用例

- C.4.2.1 対話形式でのpassgenの使用

- C.4.2.2 コマンドラインでのパスワードの入力

- C.5 secgenコマンドライン・ユーティリティ

- C.5.1 ファイルベースのプロバイダ構成ファイルの生成

- C.5.2 キー・ファイルの生成

- C.5.3 secgenプロパティ・ファイルの使用

- C.5.4 secgenの使用例

- C.5.5 secgenの制限

索引

例一覧

- 1-1 Oracle CEPサーバーconfig.xmlファイルの例

- 6-1 myServer1 config.xmlファイル

- 6-2 myServer2 config.xmlファイル

- 6-3 myServer1のサーバー構成ファイルconfig.xml

- 6-4 myServer2のサーバー構成ファイルconfig.xml

- 6-5 myServer3のサーバー構成ファイルconfig.xml

- 6-6 cluster要素のsecurity子要素

- 6-7 security-config.xmlファイルのencryption-service要素

- 7-1 myServer1 config.xmlファイル

- 7-2 myServer2 config.xmlファイル

- 7-3 myServer1のサーバー構成ファイルconfig.xml

- 7-4 myServer2のサーバー構成ファイルconfig.xml

- 7-5 myServer3のサーバー構成ファイルconfig.xml

- 7-6 cluster要素のsecurity子要素

- 7-7 security-config.xmlファイルのencryption-service要素

- 9-1 provider-typeが定義されたOracle CEP netio要素

- 9-2 Oracle CEP netio要素

- 9-3 name要素を持つOracle CEP netio要素

- 9-4 port要素を持つOracle CEP netio要素

- 9-5 port要素を持つOracle CEP netio要素

- 9-6 Oracle CEP netio-client要素

- 9-7 name要素を持つOracle CEP netio-client要素

- 9-8 port要素を持つOracle CEP netio-client要素

- 10-1 LDAP/DBMSプロパティ・ファイル

- 10-2 DBMSプロパティ・ファイル

- 10-3 security.xmlファイル内のデフォルトのpassword-validator要素

- 10-4 デフォルトのssl要素

- 10-5 デフォルトのnetio要素

- 10-6 デフォルトのjetty要素

- 10-7 デフォルトのssl要素

- 10-8 JCEプロバイダとしてjsafejcefips JARを追加するためのjava.securityの編集

- 10-9 JsafeJCEをデフォルト・プロバイダに設定

- 10-10 FIPSを有効化するためのserver.configの編集

- 10-11 HTTPアクセスおよびHTTPSアクセスの両方を含む一般的なconfig.xmlファイル

- 10-12 HTTPアクセスが削除された状態の一般的なconfig.xmlファイル

- 10-13 暗号化後のOracle CEP config.xmlファイルのdata-source要素

- 10-14 暗号化後のOracle CEP config.xmlファイルのdata-source要素

- 10-15 デフォルトのsec:auditor要素

- 11-1 Jetty構成の例

- 12-1 JMX構成

- 12-2 Oracle CEP JMXサーバーへの接続の確立

- 12-3 Oracle CEP JMXサーバーへの接続の確立

- 12-4 MBeanへの問合せ

- 12-5 MonitorRuntimeMBeanのインスタンスの取得

- 12-6 ProbeRuntimeMBeanのインスタンスの取得

- 12-7 MBeanの登録解除

- 13-1 Oracle CEPサーバーのconfig.xmlにおけるカスタム・データ・ソースの構成

- 13-2 bundler.shコマンド・ライン・オプション

- 13-3 Bundlerユーティリティの使用

- 13-4 バンドルJARコンテンツ

- 13-5 サービス登録ログ・メッセージ

- 13-6 driver-params子要素

- 13-7 MyActivatorクラスの実装

- 13-8 データベース・ドライバの解凍

- 13-9 マニフェスト・エディタへのエクスポート・パッケージの追加

- 13-10 マニフェスト・エディタへのBundle-Activator要素の追加

- 13-11 マニフェスト・エディタへのDynamicImport-Package要素の追加

- 13-12 driver-params子要素

- 15-1 ロギング構成を持つOracle CEP Server config.xmlファイル

- 15-2 logger-severity-properties要素のentry子要素

- 15-3 log4j.propertiesファイルの例

- 15-4 Commonsのサンプル・コード

- 15-5 デバッグ・フラグ用のdebug-properties要素の作成

- 15-6 デバッグ・ロギングの有効化

図一覧

- 1-1 Oracle CEPサーバー・ライフサイクル状態図

- 5-1 マルチサーバー・ドメインのディレクトリ構造

- 12-1 Oracle CEP MBeanツリー

- 12-2 Oracle CEP MBeanオブジェクト・モデル

- 12-3 Jconsole初回ログイン試行

- 12-4 Jconsole:「新しい接続」ダイアログ

- 12-5 Jconsoleブラウザ

- 12-6 Jconsoleブラウザ

- 13-1 Oracle CEPデータ・ソース

- 13-2 Oracle CEP IDE for Eclipseのlibディレクトリ

- 13-3 新規Javaクラスダイアログ

- 13-4 マニフェスト・エディタ:「概要」タブ

- 13-5 マニフェスト・エディタ:「ランタイム」タブ

- 13-6 JAR選択ダイアログ

- 13-7 マニフェスト・エディタ:「依存関係」タブ

- 13-8 パッケージ選択ダイアログ

- 13-9 マニフェスト・エディタ

- 14-1 Oracle CEPのHTTPパブリッシュ/サブスクライブ・サーバー

表一覧

- 9-1 Oracle CEPネットワークI/Oプロバイダ

- 10-1 デフォルトのOracle CEPタスク・ロールおよびグループ

- 10-2 <password-validator>の子要素

- 10-3 Oracle CEPのセキュリティ監査プログラムの重大度レベル

- 11-1 jetty要素の構成パラメータ

- 11-2 netio要素の構成パラメータ

- 11-3 work-manager要素の構成パラメータ

- 11-4 jetty-web-app要素の構成パラメータ

- 12-1 Oracle CEP MBeanオブジェクト名のキー・プロパティ

- 12-2 コンポーネント宣言の例および対応するMBeanオブジェクト名

- 12-3 jmx要素の構成パラメータ

- 12-4 rmi要素の構成パラメータ

- 12-5 jndi-context要素の構成パラメータ

- 12-6 exported-jndi-context要素の構成パラメータ

- 12-7 Jconsole新しい接続属性

- 13-1 bundler.shコマンド・ライン・オプション

- 13-2 ファクトリ・クラスおよびサービス・インタフェース

- 13-3 driver-params子要素プロパティ

- 13-4 新規Javaクラス・パラメータ

- 13-5 driver-params子要素プロパティ

- 15-1 ログ・メッセージ重大度

- 15-2 logging-serviceの構成パラメータ

- 15-3 log-fileの構成パラメータ

- 15-4 log-stdoutの構成パラメータ

- 15-5 ロギング・コンポーネント名定数

- 15-6 デバッグ・フラグ

- A-1 接続引数

- A-2 ユーザー資格証明の引数

- A-3 共通引数

- A-4 サーバー・ライフサイクルを管理するためのコマンドの概要

- A-5 SHUTDOWN引数

- A-6 アプリケーションのOracle CQLルールを管理するためのコマンドの概要

- A-7 GETRULE引数

- A-8 ADDRULE引数

- A-9 DELETERULE引数

- A-10 REPLACERULE引数

- A-11 STARTRULE引数

- A-12 STOPRULE引数

- A-13 UPLOAD引数

- A-14 DOWNLOAD引数

- A-15 アプリケーションのEPLルールを管理するためのコマンドの概要

- A-16 ADDRULE引数

- A-17 DELETERULE引数

- A-18 REPLACERULE引数

- A-19 GETRULE引数

- A-20 ADDPARAMS引数

- A-21 DELETEPARAMS引数

- A-22 GETPARAMS引数

- A-23 UPLOAD引数

- A-24 DOWNLOAD引数

- A-25 MBean管理コマンドの概要

- A-26 GET引数

- A-27 INVOKE引数

- A-28 QUERY引数

- A-29 SET引数

- A-30 イベントの記録および再生を制御するためのコマンドの概要

- A-31 STARTRECORD引数

- A-32 STOPRECORD引数

- A-33 CONFIGURERECORD引数

- A-34 SCHEDULERECORD引数

- A-35 LISTRECORD引数

- A-36 STARTPLAYBACK引数

- A-37 STOPPLAYBACK引数

- A-38 CONFIGUREPLAYBACK引数

- A-39 SCHEDULEPLAYBACK引数

- A-40 LISTPLAYBACK引数

- A-41 スループットおよび待機時間を監視するためのコマンドの概要

- A-42 MONITORAVGLATENCY引数

- A-43 MONITORAVGLATENCYTHRESHOLD引数

- A-44 MONITORMAXLATENCY引数

- A-45 MONITORAVGLATENCY引数

- A-46 構成履歴を管理するためのコマンドの概要

- A-47 DELETECONFIGCHANGEHISTORY引数

- A-48 GETRULE引数

- A-49 GETRULE引数

- A-50 GETRULE引数

- B-1 接続引数

- B-2 ユーザー資格証明の引数

- B-3 デプロイメント・コマンド

- C-1 GrabCertの引数

- C-2 passgenの引数

- C-3 ファイルベースのプロバイダ構成ファイルのsecgen引数

- C-4 キー・ファイルのsecgen引数

Oracle® Fusion Middleware

Oracle Complex Event Processing管理者ガイド

11gリリース1 (11.1.1.6.2)

B61653-04(原本部品番号:E14300-08)

2012年4月

管理者向けに、Oracle Complex Event Processing (Oracle CEP)アプリケーションおよびクラスタの管理方法を、Oracle Coherence、Jetty、JMX、JDBCおよびセキュリティ・ツールを使用する構成と、デプロイ、管理を含めて説明するドキュメントです。

Oracle Fusion Middleware Oracle Complex Event Processing管理者ガイド11gリリース1 (11.1.1.6.2)

B61653-04

Copyright © 2007, 2012, Oracle and/or its affiliates.All rights reserved.

原本主著者: Steve Traut、Peter Purich

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007).Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

はじめに

このドキュメントでは、Oracle CEPサーバーを構成および管理する方法について説明します。

Oracle CEP(以前の名称はWebLogic Event Server)は、高パフォーマンスのイベント駆動アプリケーションを開発するためのJavaサーバーです。これは、Oracle Continuous Query Language (Oracle CQL)ベースの豊富な宣言的環境を提供するOracle CEPサービス・エンジンを含む共有サービスがある、Equinox OSGiに基づく軽量Javaアプリケーション・コンテナであり、ビジネス・オペレーションを管理するための効率と効果を向上するためにデータのストリームをサポートする追加のコンストラクトがあるSQLベースの問合せ言語です。 Oracle CEPは、JRockitリアルタイムを使用して超高スループットおよびマイクロ秒単位での待機時間をサポートし、完全なリアルタイム・エンドツーエンドJavaイベント駆動型アーキテクチャ(EDA)の開発プラットフォームに対して、Eclipseを開発するツールを使用してOracle CEP VisualizerおよびOracle CEP IDEを提供します。

対象読者

このドキュメントは、Oracle CEPのすべてのユーザーを対象としています。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docaccを参照してください。

Oracleサポートへのアクセス

Oracleのお客様は、My Oracle Supportから電子サポートにアクセスできます。詳細情報はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=infoか、聴覚に障害のあるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。

関連ドキュメント

詳細は、次を参照してください。

- 『Oracle Fusion Middleware Oracle Complex Event Processingスタート・ガイド』

- 『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』

- 『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』

- 『Oracle Fusion Middleware Oracle Complex Event Processing Java APIリファレンス』

- 『Oracle Fusion Middleware Oracle Complex Event Processing CQL言語リファレンス』

- 『Oracle Fusion Middleware Oracle Complex Event Processing EPL 言語リファレンス』

- http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/toc.htmの『Oracle Database SQL言語リファレンス』

- SQL99仕様(ISO/IEC 9075-1:1999、ISO/IEC 9075-2:1999、ISO/IEC 9075-3:1999およびISO/IEC 9075-4:1999)

- Oracle CEPフォーラム: http://forums.oracle.com/forums/forum.jspa?forumID=820

- Oracle CEPサンプル: http://www.oracle.com/technologies/soa/complex-event-processing.html

- Oracle Event Driven Architecture Suiteサンプル・コード: http://www.oracle.com/technology/sample_code/products/event-driven-architecture

表記規則

このドキュメントでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

斜体

イタリックは、ユーザーが特定の値を指定するプレースホルダー変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、例内のコード、画面に表示されるテキスト、または入力するテキストを示します。

リリース11.1.1.6.x用のこのガイドでの新しい情報

リリース11.1.1.6.x用に、このガイドはいくつかの点が更新されています。次の表に、追加または変更された項を示します。11.1.1.6.xの最初のリリースで機能を使用できなかった場合は、最後の列に更新を含むドキュメントのリリースを示します。

既知の問題のリストについては(リリース・ノート)、Oracle SOA製品およびOracle AIA Foundation Packの既知の問題に関するページ(http://www.oracle.com/technetwork/middleware/docs/soa-aiafp-knownissuesindex-364630.html)を参照してください。

項

変更内容

11.1.1.6.0

11.1.1.6.1

第15章「Oracle CEPのロギングとデバッグの構成」

15.2.4項「個別モジュールの重大度の構成」

項が改訂され、CQLServerおよびCQLServerTraceロギング・コンポーネントが追加されました。

X

第I部

概要

第I部には次の章が含まれます:

- 第1章「Oracle CEPサーバー管理の概要」

1 Oracle CEPサーバー管理の概要

この章は、Oracle Complex Event Processing (Oracle CEP)の管理の概要を説明し、Oracle CEサーバーおよびドメイン、サーバーのライフサイクルの概要を、サーバー構成、管理ツールおよびタスクを含めて説明します。

- 1.1項「Oracle CEPサーバーおよびドメインの理解」

- 1.2項「Oracle CEPサーバー・ライフサイクルの理解」

- 1.3項「Oracle CEPサーバー構成の理解」

- 1.4項「Oracle CEPサーバー管理ツールの理解」

- 1.5項「Oracle CEPサーバー管理タスクの理解」

1.1 Oracle CEPサーバーとドメインの理解

Oracle CEPサーバーには、Oracle CEPアプリケーションをデプロイする論理的に関連付けられたリソースとサービスがあります。サービスは次のとおりです。

- ネットワーク入力/出力(I/O): サーバー/クライアントのインターネット・プロトコル(IP)ポート・アクセス、IPv4/IPv6のサポート、および各種ブロック/非ブロック・ネットワークI/Oプロバイダ。

- セキュリティ: SSL、パスワード・ストアおよび認証と認可プロバイダなどのセキュリティ・サービス

- Jetty: HTTPサーバー

- Java Management Extensions (JMX): プログラムからOracle CEPサーバーおよびアプリケーション動作のアクセスの提供

- JDBCデータソース: イベントの記録および再生に必要なイベントを格納するためのリレーショナル・データベースへのアクセス、Oracle CQL問合せのイベント・ソースとしての表へのアクセス、およびEPL問合せでの表の結合

- HTTPパブリッシュ・サブスクライバ・サーバー: Oracle CEP Visualizerおよび独自のWeb 2.0アプリケーションなどのサブスクライブされたクライアントへのイベント・メッセージの転送

- ロギング: サーバーおよびアプリケーション操作の監視とトラブルシューティングに対するサポート

サーバーに適用するすべてのファイルは、単一のサーバー・ディレクトリに含まれます。サーバーに対するメイン構成ファイルはconfig.xmlというファイルで、このファイルにサーバーのサービスを構成し、サーバーが属するドメインを指定します。詳細は、1.3.1項「Oracle CEPサーバー構成ファイル」を参照してください。

Oracle CEPドメインは、1つ以上のサーバーのセットの管理単位です。次の2種類のドメインがあります。

- スタンドアロンサーバー・ドメイン - 単一のサーバーを含むドメインです。これは構成ウィザードによってデフォルトで作成されるタイプのドメインであり、マルチサーバー・ドメインの開始点です。
詳細は、第3章「Oracle CEPスタンドアロンサーバー・ドメインの管理」を参照してください。

- マルチサーバー・ドメイン: 同じマルチキャスト・アドレスとマルチキャスト・ポートを共有し、さらにセキュリティ・プロバイダを共有する複数のサーバーを含むドメインです。マルチサーバー・ドメインを使用すると、Oracle CEPアプリケーションの高可用性を可能にします。マルチサーバー・ドメインにアプリケーションをデプロイすると、アプリケーションはドメイン内の各サーバーにレプリケートされます。
マルチサーバー・ドメインのサーバーは、同じコンピュータ上に配置するか別のコンピュータ上に配置することができます。マルチサーバー・ドメインのサーバーは、同じマルチキャスト・アドレスとマルチキャスト・ポートを共有し、同じドメインに属することで、互いに関連付けられます。この設定はすべて、サーバーのconfig.xmlファイルで構成されます。

詳細は、次を参照してください:

- 第6章「Oracle Coherenceを使用したマルチサーバー・ドメインの管理」

- 第7章「Oracle CEPネイティブ・クラスタリングによるマルチサーバー・ドメインの管理」

1.2 Oracle CEPサーバー・ライフサイクルの理解

図1-1は、Oracle CEPサーバー・ライフサイクルの状態図を示しています。この図では、状態名(STARTING、RUNNINGおよびSHUTTING_DOWN)はServerRuntimeMBeanメソッドgetState()戻り値に対応します。これらの状態はOracle CEPに固有であり、OSGIバンドルの状態ではありません。

図1-1 Oracle CEPサーバー・ライフサイクル状態図

「図1-1 Oracle CEPサーバー・ライフサイクル状態図」の説明

注意:

Oracle CEPアプリケーションのライフサイクルの詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』を参照してください。

この項では、Oracle CEPにデプロイされたアプリケーションのライフサイクルとcom.bea.wlevs.ede.api APIコールバックのシーケンスについて説明します。ライフサイクルの説明は、ユーザーが実行するアクションに分類されます。このアクションは、次のとおりです。

- 1.2.1項「ユーザーのアクション: Oracle CEPサーバーの起動」

- 1.2.2項「ユーザーのアクション: Oracle CEPサーバーの停止」

この情報では、アプリケーションでライフサイクルAPIを効率的に使用するためにアプリケーションのライフサイクルをOracle CEPで管理する方法が説明されています。これらのAPI(RunnableBean、SuspendableBeanなど)の説明は、次を参照してください。

- 『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のOracle CEP APIに関する項

- 『Oracle Fusion Middleware Oracle Complex Event Processing Java APIリファレンス』

1.2.1 ユーザーのアクション: Oracle CEPサーバーの起動

Oracle CEPサーバーを起動した後、次のアクションを行います。

1. コア・エンジン・バンドルを起動します。

2. Oracle CEPバンドルを起動します。

3. MBeansを登録します。

4. このときOracle CEPサーバーの状態はSTARTINGです。

5. アプリケーション・バンドルを起動します。

6. このときOracle CEPサーバーの状態はRUNNINGです。

1.2.2 ユーザーのアクション: Oracle CEPサーバーの停止

Oracle CEPサーバーを停止した後、次のアクションを行います。

1. Oracle CEPサーバーの状態はSHUTTING_DOWNです。

2. ServerRuntimeMBeanを登録解除します。
Oracle CEPサーバーには状態が割り当てられません。

3. Oracle CEPバンドルを停止します。

4. アプリケーション・バンドルを停止します。

5. コア・エンジン・バンドルを停止します。

1.3 Oracle CEPサーバー構成の理解

Oracle CEPサーバーの構成には2つのカテゴリがあります。

- サーバーの構成

- サーバーにデプロイするアプリケーションの構成

各構成カテゴリに対して次の構成タスクを実行できます。

- 静的に: XMLファイルを手動で編集します。
このアプローチを使用する場合、変更を行った後、サーバーの再起動またはアプリケーションの再デプロイの必要があります。

- 動的に: Oracle CEP Visualizer、wlevs.Adminコマンドライン・ユーティリティまたはプログラムでJMXを使用して管理bean (MBeans)を操作します。
このアプローチを使用する場合、変更を行った後、サーバーの再起動またはアプリケーションの再デプロイの必要はありません。

次のステップを実行してサーバーを静的に構成します。

1. Oracle CEPサーバーを停止します。

2. Oracle CEPサーバーのドメイン・ディレクトリにあるconfig.xmlファイルを編集します。

3. Oracle CEPサーバーを起動します。

Jettyの構成などのサーバー構成タスクは静的でのみ実行できます。

一部のサーバー構成タスクでは、管理bean (MBeans)を使用して動的に実行できます。この場合、変更を有効にするにはサーバーを手動で停止および起動する必要はありません。

JMX APIに完全準拠するOracle CEP標準ベースのインタフェースを使用して、Oracle CEP Visualizer、wlevs.Adminコマンドライン・ユーティリティ、または独自のJavaコードによって、Oracle CEPサーバーおよびアプリケーションを動的に構成できます(http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/)。

『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』の説明に従って、一般的に、アプリケーションを最初に作成する場合は、静的に構成します。特に、アプリケーションのイベント処理ネットワーク(EPN)は、EPNアセンブリ・ファイルを作成して構成し、アプリケーションの個々のコンポーネント(アダプタ、チャネルおよびプロセッサ)は、構成ファイルを作成して構成します。

アプリケーションをデプロイした後、Oracle CEPサーバーがアプリケーションまたはコンポーネントに対して自動的に作成するMBeansを操作して、アプリケーションまたは個々のコンポーネントの構成を動的に変更することができます。標準のタスクでは、デプロイされたアプリケーションのプロセッサに対してOracle CQLルールを動的に構成します。これは、Oracle CEP Visualizer、wlevs.Adminコマンドライン・ユーティリティまたはJMXを使用して実行します。

この項では次の内容について説明します。

- 1.3.1項「Oracle CEPサーバー構成ファイル」

- 1.3.2項「config.xmlファイルの手動編集によるOracle CEPサーバーの構成」

- 1.3.3項「構成履歴管理」

- 1.3.4項「Oracle CEPサーバーのbootclasspathの構成」

詳細は、次を参照してください:

- 1.5.3項「Oracle CEPサーバーの構成」

- 『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』

- 付録A「wlevs.Adminコマンドライン・リファレンス」

- 第12章「Oracle CEPのJMXの構成」

1.3.1 Oracle CEPサーバー構成ファイル

デフォルトでは、構成ウィザードによってORACLE_CEP_HOME/user_projects/domainsディレクトリにドメインが作成されます。ORACLE_CEP_HOMEは、d:\oracle_cepなどのOracle CEPインストール・ディレクトリです。

たとえば、d:\oracle_cep\user_projects\domains\my_domainで、my_domainはドメイン・ディレクトリです。このドメインで作成される各Oracle CEPサーバーのサブディレクトリはmy_domainにあります(c:\oracle_cep\user_projects\domains\my_domain\server1など)。

次のリストは、サーバー・ディレクトリに関連するドメイン内のサーバーの重要なファイルとディレクトリの説明です(c:\oracle_cep\user_projects\domains\my_domain\server1など)。

- deployments.xml: このドメインのOracle CEPインスタンスに現在デプロイされている、OSGiバンドルとしてパッケージ化されたアプリケーションのリストを含むXMLファイルです。アプリケーションをデプロイするときは、このファイルは手動で更新せずに、必ずデプロイヤ・ツールを使用します。

- startwlevs.cmd: Oracle CEPのインスタンスの起動に使用されるコマンド・ファイルです。UNIXではstartwlevs.shがこのファイルに相当します。

- stopwlevs.cmd: Oracle CEPのインスタンスの停止に使用されるコマンド・ファイルです。UNIXではstopwlevs.shがこのファイルに相当します。

- config/config.xml: Oracle CEPインスタンスに対して構成されているサービスを記述したXMLファイルです。サービスにはロギング、デバッグ、Jetty WebサービスおよびJDBCデータ・ソースがあります。
詳細は、1.3.2項「config.xmlファイルの手動編集によるOracle CEPサーバーの構成」を参照してください。

- config/security*: ドメインのセキュリティを構成するファイルです。

- config/atnstore.txt: このドメインに構成されているユーザーおよびグループを記載したファイルです。

1.3.2 config.xmlファイルの手動編集によるOracle CEPサーバーの構成

Oracle CEPサーバーを構成する最も効率的でエラーの発生が少ない方法は、1.4項「Oracle CEPサーバー管理ツールの理解」で説明されているように、1つ以上のOracle CEP管理ツールを使用する方法です。

オプションで、Oracle CEPサーバーconfig.xmlファイルを手動で編集してOracle CEPサーバーを構成することができます。Oracle CEPサーバーconfig.xmlファイルの場所の詳細は、1.3.1項「Oracle CEPサーバー構成ファイル」を参照してください。

警告:

config.xmlファイルを手動で更新し、Oracle CEPサーバーの構成を変更した場合、変更を有効にするにはサーバーを再起動する必要があります。

config.xmlファイルを使用して、次のサーバー・オブジェクトと機能を構成できます(追加または更新の必要がある要素については、参照先の項で詳細に説明しています)。

- マルチサーバー・ドメインのサーバーを同時に構成する方法。マルチキャスト・アドレスとマルチキャスト・ポート、グループなどを構成します。
次を参照してください。

- 第3章「Oracle CEPスタンドアロンサーバー・ドメインの管理」

- 第6章「Oracle Coherenceを使用したマルチサーバー・ドメインの管理」

- 第7章「Oracle CEPネイティブ・クラスタリングによるマルチサーバー・ドメインの管理」

- ネットワークI/O。
第9章「Oracle CEP用のネットワークI/Oの構成」を参照してください。

- セキュリティ
第10章「Oracle CEPのセキュリティの構成」を参照してください。

- Jetty (オープン・ソース、標準ベース、フル機能のJava Webサーバー)。
第11章「Oracle CEP用のJettyの構成」を参照してください。

- Oracle CEP Visualizer、wlevs.Adminユーティリティおよびデプロイヤ・ユーティリティを使用するために必要なJMX
第12章「Oracle CEP用のJMXの構成」を参照してください。

- リレーショナル・データベースへの接続に使用されるJDBCデータ・ソース。
第13章「Oracle CEP用のJDBCの構成」を参照してください。

- HTTPパブリッシュ・サブスクライブ・サーバー。
第14章「Oracle CEPのHTTPパブリッシュ/サブスクライブの構成」を参照してください。

- サーバーのロギングおよびデバッグ・プロパティ。デフォルトでは、ログ・セキュリティ・レベルはNOTICEに設定されています。
第15章「Oracle CEPのロギングとデバッグの構成」を参照してください。

例1-1は、ORACLE_CEP_HOME/user_projects/domains/ocep_domain/defaultserverテンプレート・ドメインからのサンプルのconfig.xmlファイルを示し、これらのサービスのいくつかを構成する方法を示しています。

例1-1 Oracle CEPサーバーconfig.xmlファイルの例

<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2007 sp2 (http://www.altova.com)-->
<n1:config
xsi:schemaLocation="http://www.bea.com/ns/wlevs/config/server wlevs_server_config.xsd"
xmlns:n1="http://www.bea.com/ns/wlevs/config/server"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<netio>
<name>NetIO</name>
<port>9002</port>
</netio>
<netio>
<name>sslNetIo</name>
<ssl-config-bean-name>sslConfig</ssl-config-bean-name>
<port>9003</port>
</netio>
<work-manager>
<name>JettyWorkManager</name>
<min-threads-constraint>5</min-threads-constraint>
<max-threads-constraint>10</max-threads-constraint>
</work-manager>
<jetty>
<name>JettyServer</name>
<network-io-name>NetIO</network-io-name>
<work-manager-name>JettyWorkManager</work-manager-name>
<secure-network-io-name>sslNetIo</secure-network-io-name>
</jetty>
<rmi>
<name>RMI</name>
<http-service-name>JettyServer</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>
<rmi-service-name>RMI</rmi-service-name>
<jndi-service-name>JNDI</jndi-service-name>
</jmx>
<ssl>
<name>sslConfig</name>
<key-store>./ssl/evsidentity.jks</key-store>
<key-store-pass>
<password>{Salted-3DES}j4XEtuXmmvEl4M/NInwq0A==</password>
</key-store-pass>
<key-store-alias>evsidentity</key-store-alias>
<key-manager-algorithm>SunX509</key-manager-algorithm>
<ssl-protocol>TLS</ssl-protocol>
<enforce-fips>false</enforce-fips>
<need-client-auth>false</need-client-auth>
</ssl>
<http-pubsub>
<name>pubsub</name>
<path>/pubsub</path>
<pub-sub-bean>
<server-config>
<name>/pubsub</name>
<supported-transport>
<types>
<element>long-polling</element>
</types>
</supported-transport>
<publish-without-connect-allowed>true</publish-without-connect-allowed>
</server-config>
<channels>
<element>
<channel-pattern>/evsmonitor</channel-pattern>
</element>
<element>
<channel-pattern>/evsalert</channel-pattern>
</element>
<element>
<channel-pattern>/evsdomainchange</channel-pattern>
</element>
</channels>
</pub-sub-bean>
</http-pubsub>
<cluster>
<server-name>productionServer</server-name>
</cluster>
<domain>
<name>ocep_domain</name>
</domain>

1.3.3 構成履歴管理

Oracle CEPサーバー上にアプリケーションをデプロイするとき、Oracle CEPサーバーによってアプリケーションの構成履歴が作成されます。アプリケーションで行うすべての構成変更はこの履歴に記録されます。Oracle CEP Visualizerまたはwlevs.Adminツールを使用してこれらの変更の表示およびロールバック(undo)ができます。

詳細は、次を参照してください:

- 『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』の構成履歴管理に関する項

- 付録A「構成履歴を管理するためのコマンド」

1.3.4 Oracle CEPサーバーのbootclasspathの構成

通常、Oracle CEPサーバー構成ファイルを使用してすべてのOracle CEPサーバー・オプションを構成し、Oracle CEPアセンブリ/コンポーネント構成ファイルを使用してすべてのOracle CEPアプリケーション・オプションを構成し、関連プライベート・アーティファクトをOracle CEPプロジェクトにインポートするか、またはアプリケーションが間接的にインポートする関連共有アーティファクトを含む共有アプリケーション・ライブラリをデプロイすることによって、すべてのOracle CEPアプリケーション・ランタイム依存関係を指定します。

必要に応じて、アプリケーション・ライブラリとOracle CEPアプリケーションの両方がデプロイされる前にOracle CEPサーバーによって使用可能にされる、ネイティブ・コード・ライブラリなどのアーティファクトを使用して、Oracle CEPのbootclasspathを構成できます。

この方法を使用すると、アプリケーションのインポートやアプリケーション・ライブラリを使用しただけでは満たすことのできないアプリケーションまたはアプリケーション・ライブラリの依存関係を満たすことが可能です。

詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のアプリケーション依存性に関する項を参照してください。

1.3.4.1 Oracle CEPサーバーのbootclasspathを構成する方法

オプションで、bootclasspathを使用して、ネイティブ・コード・ライブラリに依存するアプリケーション・ライブラリに対してネイティブ・コード・ライブラリを使用できるようにします。

Oracle CEPのbootclasspathを構成するには、次の手順を実行します。

1. Oracle CEP起動時に適切なネイティブ・ライブラリのJARファイルが検索されるように、ドメイン・ディレクトリのサーバー・ディレクトリにあるサーバー起動スクリプトを更新します。
サーバー起動スクリプト名はstartwlevs.cmd (Windows)またはstartwlevs.sh (UNIX)で、スクリプトはドメイン・ディレクトリ内のサーバー・ディレクトリにあります。即時利用可能サンプル・ドメインはORACLE_CEP_HOME/ocep_11.1/samples/domainsにあります。ユーザー・ドメインはORACLE_CEP_HOME/user_projects/domainsにあります。ORACLE_CEP_HOMEは、d:\oracle_cepなどのOracle CEPインストール・ディレクトリです。

wlevs_3.0.jarファイルを実行するJavaコマンドに-Xbootclasspath/aオプションを追加して、起動スクリプトを更新します。使用するネイティブ・ライブラリのフル・パス名を-Xbootclasspath/aオプションに設定します。

たとえば、Oracle CEPサーバーの%USER_INSTALL_DIR%\binディレクトリに格納されているmynativelibというネイティブ・ライブラリを使用する場合、次のように起動スクリプトのjavaコマンドを更新します。更新対象セクションを太字で示します(この例では読みやすくするために改行していますが、実際にはフルコマンドは1行にある可能性があります)。

%JAVA_HOME%\bin\java -Dwlevs.home=%USER_INSTALL_DIR% -Dbea.home=%BEA_HOME%
-Xbootclasspath/a:%USER_INSTALL_DIR%\bin\mynativelib.jar
-jar "%USER_INSTALL_DIR%\bin\wlevs_3.0.jar"
-disablesecurity %1 %2 %3 %4 %5 %6

この例では、%USER_INSTALL_DIR%はORACLE_CEP_HOME\ocep_11.1を示しています。

2. Oracle CEPが実行中の場合は、新規のjavaオプションとデータ・ソース情報を読み込むために再起動します。
詳細は、1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

1.4 Oracle CEPサーバー管理ツールの理解

この項は、Oracle CEPサーバー、ドメインおよびアプリケーションを管理するために使用する様々なOracle CEPサーバー管理ツールについて説明します。

次のいずれかを使用して、Oracle CEPサーバー、ドメインおよびアプリケーションを管理できます。

- 1.4.1項「構成ウィザード」

- 1.4.2項「Oracle CEP Visualizer」

- 1.4.3項「wlevs.Adminコマンドライン・ユーティリティ」

- 1.4.4項「デプロイヤ・コマンドライン・ユーティリティ」

- 1.4.5項「セキュリティ・コマンドライン・ユーティリティ」

- 1.4.6項「JMX」

詳細は、次を参照してください:

- 1.3項「Oracle CEPサーバー構成の理解」

- 1.5項「Oracle CEPサーバー管理タスクの理解」

1.4.1 構成ウィザード

構成ウィザードは、Oracle CEPサーバーとドメインを作成および更新するためにグラフィカルに呼び出し可能なJavaアプリケーションです。

詳細は、次を参照してください:

- 第3章「Oracle CEPスタンドアロンサーバー・ドメインの管理」

- 第6章「Oracle Coherenceを使用したマルチサーバー・ドメインの管理」

- 第7章「Oracle CEPネイティブ・クラスタリングによるマルチサーバー・ドメインの管理」

1.4.2 Oracle CEP Visualizer

Oracle CEP Visualizerは、Oracle CEPのグラフィカルな管理コンソールです。

これは、Oracle CEPからのデータを使用し、そのデータを便利で直感的な方法でシステム管理者やオペレータに表示し、さらに特定のタスクにおいて、受け入れたデータを再びOracle CEPに戻して構成の変更を行うWeb 2.0アプリケーションです。

Oracle CEP Visualizerを使用して、既存のOracle CEPスタンドアロン・サーバー・ドメインとOracle CEPマルチサーバー・ドメインに対して、多様なOracle CEPサーバー、ドメインおよびアプリケーション管理タスクを実行できます。

詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のVisualizerの概要に関する項を参照してください。

1.4.3 wlevs.Adminコマンドライン・ユーティリティ

wlevs.Adminコマンドライン・ユーティリティは、多様なOracle CEPサーバー、ドメインおよびアプリケーション管理タスクを実行するためにローカルまたはリモートで呼び出し可能なJavaアプリケーションです。

詳細は、付録A「wlevs.Adminコマンドライン・リファレンス」を参照してください。

1.4.4 デプロイヤ・コマンドライン・ユーティリティ

デプロイヤ・コマンドライン・ユーティリティは、アプリケーションのデプロイメントとアプリケーション管理タスクを実行するためにローカルまたはリモートで呼び出し可能なJavaアプリケーションです。

詳細は、付録B「デプロイヤ・コマンドライン・リファレンス」を参照してください。

1.4.5 セキュリティ・コマンドライン・ユーティリティ

Oracle CEPでは、セキュリティ管理を簡素化する様々なコマンドライン・ユーティリティが提供されます。

詳細は、付録C「セキュリティ・ユーティリティ・コマンドライン・リファレンス」を参照してください。

1.4.6 JMX

Java Management Extensions (JMX)仕様に完全準拠するOracle CEP標準ベースのインタフェースを使用して、JMXとOracle CEP MBeansをプログラムで使用する多様なOracle CEPサーバー、ドメインおよびアプリケーション管理タスクを実行できます。

詳細は、次を参照してください:

- 第12章「Oracle CEPのJMXの構成」

- 『Oracle Fusion Middleware Oracle Complex Event Processing Java APIリファレンス』

1.5 Oracle CEPサーバー管理タスクの理解

この項では、下記の重要なOracle CEPサーバー管理タスクについて説明します。

- 1.5.1項「Oracle CEPサーバーとドメインの作成」

- 1.5.2項「Oracle CEPサーバーとドメインの更新」

- 1.5.3項「Oracle CEPサーバーの構成」

- 1.5.4項「Oracle CEPサーバーの起動と停止」

- 1.5.5項「Oracle CEPサーバーへのアプリケーションのデプロイメント」

- 1.5.6項「Oracle CEPアプリケーション、サーバーおよびドメインの管理」

1.5.1 Oracle CEPサーバーとドメインの作成

最も重要な管理タスクは、Oracle CEPサーバーとドメインの作成です。

詳細は、次を参照してください:

- 第3章「Oracle CEPスタンドアロンサーバー・ドメインの作成」

- 第6章「Oracle Coherenceを使用したOracle CEPマルチサーバー・ドメインの作成」

- 第7章「Oracle CEPネイティブ・クラスタリングを使用したOracle CEPマルチサーバー・ドメインの作成」

1.5.2 Oracle CEPサーバーとドメインの更新

Oracle CEPサーバーとドメインを作成したら、それを更新して、構成またはグループ・メンバーシップを変更することができます。

詳細は、次を参照してください:

- 第3章「Oracle CEPスタンドアロンサーバー・ドメインの更新」

- 第6章「Oracle Coherenceを使用したOracle CEPマルチサーバー・ドメインの更新」

- 第7章「Oracle CEPネイティブ・クラスタリングを使用したOracle CEPマルチサーバー・ドメインの更新」

1.5.3 Oracle CEPサーバーの構成

Oracle CEPサーバーとドメインを作成したら、提供される様々なサービスを構成する必要があります。

詳細は、次を参照してください:

- 第9章「Oracle CEP用のネットワークI/Oの構成」

- 第10章「Oracle CEPのセキュリティの構成」

- 第11章「Oracle CEP用のJettyの構成」

- 12.2項「JMXの構成」

- 第13章「Oracle CEP用のJDBCの構成」

- 第14章「Oracle CEPのHTTPパブリッシュ/サブスクライブの構成」

- 第15章「Oracle CEPのロギングとデバッグの構成」

1.5.4 Oracle CEPサーバーの起動と停止

少なくとも1つのサーバーとともにOracle CEPドメインを作成した後、アプリケーションをデプロイして実行を開始できるようにサーバー・インスタンスを起動します。アップグレードときと構成変更の後、Oracle CEPサーバーを停止および起動する必要があります。

詳細は、次を参照してください:

- 3.3項「スタンドアロンサーバー・ドメインでのOracle CEPサーバーの起動と停止」

- Oracle Coherence: 6.5項「マルチサーバー・ドメインでのOracle CEPサーバーの起動と停止」

- Oracle CEPネイティブ・クラスタリング: 7.5項「マルチサーバー・ドメインでのOracle CEPサーバーの起動と停止」

注意:

Windowsの場合、起動したコマンド・プロンプトの「閉じる」ボタンをクリックしてOracle CEPサーバーを停止しないでください。stopwlevs.cmdスクリプトまたはCtrl-Cを使用すると、Oracle CEPサーバーはいつでも停止します。

1.5.5 Oracle CEPサーバーへのアプリケーションのデプロイメント

Oracle CEPサーバーとドメインを作成し構成した後、それらにOracle CEPアプリケーションをデプロイできます。

詳細は、次を参照してください:

- 4.1項「Oracle CEPスタンドアロンサーバー・ドメインへのアプリケーションのデプロイメント」

- 8.1項「Oracle CEPマルチサーバー・ドメインへのアプリケーションのデプロイの概要」

- 『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のOracle CEPアプリケーションの作成の概要に関する項

1.5.6 Oracle CEPアプリケーション、サーバーおよびドメインの管理

Oracle CEPサーバーとドメイン上にアプリケーションをデプロイしたら、パフォーマンス監視やアップグレードなどのタスクを実行するためにアプリケーションを管理する必要があります。

詳細は、次を参照してください:

- 1.4項「Oracle CEPサーバー管理ツールの理解」

- 12.3項「JMXによる管理」

第II部

スタンドアロンサーバー・ドメイン

第II部には次の章が含まれます:

- 第2章「スタンドアロンサーバー・ドメインの概要」

- 第3章「Oracle CEPスタンドアロンサーバー・ドメインの管理」

- 第4章「スタンドアロンサーバー・ドメイン上のアプリケーションのデプロイ」

2 スタンドアロンサーバー・ドメインの概要

この章は、Oracle Complex Event Processing (Oracle CEP)のスタンドアロン・ドメインまたは、クラスタの開始点となることができる単一インスタンスを含むドメインの概要を説明します。

- 2.1項「Oracle CEPスタンドアロンサーバー・ドメイン管理の概要」

- 2.2項「スケーラビリティおよびOracle CEPスタンドアロンサーバー・ドメイン」

- 2.3項「次のステップ」

2.1 Oracle CEPスタンドアロンサーバー・ドメイン管理の概要

Oracle CEPスタンドアロンサーバー・ドメインは単一のOracle CEPサーバーを含むドメインです。これは構成ウィザードによってデフォルトで作成されるタイプのドメインであり、マルチサーバー・ドメインの開始点です。

詳細は、次を参照してください:

- 1.1項「Oracle CEPサーバーおよびドメインの理解」

- 1.3項「Oracle CEPサーバー構成の理解」

2.2 スケーラビリティおよびOracle CEPスタンドアロンサーバー・ドメイン

スタンドアロンサーバー・ドメインを使用して、Oracle CEPスケーラビリティ・サービス品質オプションの一部が利用できます。

スケーラビリティを最大化するために、multi-serverドメインを考慮します。

詳細は、次を参照してください:

- 『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のスケーラビリティの理解に関する項

- 第5章「マルチサーバー・ドメインの概要」

2.3 次のステップ

自分のOracle CEPスタンドアロンサーバー・ドメインを作成後、1.5項「Oracle CEP Serverの管理タスクの理解」に説明した管理タスクを考慮します。

たとえば、次の操作を実行できます。

- ドメインに追加サーバーを作成し、そのドメインをマラチ・サーバーになるように構成します。
第5章「マラチ・サーバー・ドメインについて」を参照してください

- オプションで、サーバーを構成します。
1.3項「Oracle CEPサーバー構成の理解」を参照してください。

- Oracle CEPアプリケーションを作成します。
プログラミング・モデルの説明、アプリケーションを構成する各種コンポーネントの詳細、コンポーネントの連動の仕組み、および新しいアプリケーションを作成する一般的な手順は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』を参照してください。

- 新規または既存のOracle CEPアプリケーションをドメインにデプロイします。
詳細は、次を参照してください:

- 4.1項「Oracle CEPスタンドアロンサーバー・ドメインへのアプリケーションのデプロイメント」

- 『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のOracle CEPアプリケーションのアセンブルとデプロイに関する項

- アプリケーション、サーバーおよびドメインを管理します。

- Oracle CEP Visualizerを使用します。
『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』を参照してください。

- wlevs.Adminコマンドライン・ツールを使用します。
付録A「wlevs.Adminコマンドライン・リファレンス」を参照してください。

- JMXおよびMBeanを使用します。
12.3項「JMXによる管理」を参照してください。

3 Oracle CEPスタンドアロンサーバー・ドメインの管理

この章は、Oracle Complex Event Processing (Oracle CEP)スタンドアロンサーバー・ドメインを構成ウィザードで作成および更新する方法を、サーバーの起動および停止を含めて説明します。

- 3.1項「Oracle CEPスタンドアロンサーバー・ドメインの作成」

- 3.2項「Oracle CEPスタンドアロンサーバー・ドメインの更新」

- 3.3項「スタンドアロンサーバー・ドメインでのOracle CEPサーバーの起動と停止」

3.1 Oracle CEPスタンドアロンサーバー・ドメインの作成

Oracle CEPをインストールした後、構成ウィザードを使用して新しいドメインを作成し、アプリケーションをデプロイします。構成ウィザードでは、デフォルトでは、ORACLE_CEP_HOME/user_projects/domainsディレクトリにドメインを作成します。ORACLE_CEP_HOMEはd:/oracle_cepなどのOracle CEPインストール・ディレクトリです。任意のディレクトリにドメインを作成することもできます。

構成ウィザードでは、ドメイン内に単一のデフォルト・サーバーが作成されます。サーバー関連ファイルはすべて、サーバーと同じ名前のドメイン・ディレクトリ(c:\oracle_cep\user_projects\domains\my_domain\defaultserverなど)のサブディレクトリに格納されます。また、構成ウィザードで以下の処理を実行できます。

- サーバーの管理者ユーザーとパスワードを構成します。

- デフォルト以外のデータベースまたはデータベース・ドライバを使用するように、デフォルト・サーバーを構成します。この場合、適切なデータベースを参照するようにJDBC設定をカスタマイズする必要があります。

- サーバーのリスニング・ポートを構成します。

- IDキーストアおよび秘密鍵ストアのパスワードを構成します。

構成ウィザードでは、以下のいずれかのモードを利用できます。

- グラフィカル・モード: グラフィカル・モード構成は、対話型のGUIを使用してドメインを作成および構成する方法です。WindowsシステムとUNIXシステムの両方で実行できます。3.1.1項「グラフィカル・モードで構成ウィザードを使用してOracle CEPスタンドアロンサーバー・ドメインを作成する」を参照してください。

3.1.1 グラフィカル・モードで構成ウィザードを使用してOracle CEPスタンドアロンサーバー・ドメインを作成する

次の手順では、WindowsまたはUnixの両方の関連するコマンド・スクリプトを実行し、グラフィカル・モードで構成ウィザードの起動と使用方法について説明します。

注意:

Windowsでは、「スタート」メニューを使用して構成ウィザードを起動できます。

Start > All Programs > Oracle Complex Event Processing 11gR1 > Tools > Configuration Wizard

注意:

この新しいドメインからEclipse IDEへサーバーを追加する場合、ドメインの作成の詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のローカルOracle CEPサーバーとサーバー・ランタイムの作成方法に関する項を参照してください。

グラフィカル・モードで構成ウィザードを使用してOracle CEPスタンドアロンサーバー・ドメインを作成するには:

1. コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項を参照してください。

2. ORACLE_CEP_HOME/ocep_11.1/common/binディレクトリに変更します。ここで、ORACLE_CEP_HOMEは、/oracle_cepのようなメインOracle CEPインストール・ディレクトリを示します。

prompt> cd /oracle_cep/ocep_11.1/common/bin

3. ウィザードを起動するには、config.cmd(Windows)またはconfig.sh(UNIX)コマンドを起動します。

prompt> config.sh

構成ウィザードのロードが終了すると、標準のOracleへようこそウィンドウが表示されます。

注意:

Oracle CEP構成ウィザードはわかりやすいプログラムですが、ツールの使用方法について詳細情報が必要な場合は、以下の手順説明に従ってください。

4. 「次へ」をクリックします。

5. 「ドメインの作成または更新の選択」ウィンドウで、「新規Oracle CEPドメインの作成」を選択します。

6. 「次へ」をクリックします。

7. ドメインのデフォルト・サーバーの管理者ユーザー名を入力します。

8. 「次へ」をクリックします。

9. ドメインのデフォルト・サーバーについての基本的な構成情報を入力します。具体的には:

- デフォルト・サーバーの名前を入力します。この名前は、デフォルト・サーバーのファイルを格納するディレクトリの名前としても使用されます。

- Oracle CEP自体のリスニング・ポート。デフォルトは9002です。

- セキュリティ・リスニング・ポート。デフォルトは9003です。

10. 「次へ」をクリックします。

11. Oracle CEPドメイン・アイデンティティ・キーストアのパスワードを入力し、確認します。
デフォルトでは、証明書秘密鍵のパスワードは、アイデンティティ・キーストアのパスワードと同じになります。

注意:

証明書秘密鍵のパスワードがアイデンティティ・キーストアのパスワードと同じでないと、Oracle CEPサーバーが起動しません。キーストア・パスワードを使用の選択を解除して、プライベート・キーのパスワードを入力しないでください。

12. 「次へ」をクリックします。

13. JDBCデータソース構成を更新するかどうかを決定します。
構成ウィザードでは、Oracle CEPドメイン・テンプレートを基にして新しいドメインを作成します。デフォルトでは、このテンプレートではドメインに対するJDBCデータソースが構成されません。つまり、構成ウィザードで使用するデフォルトのドメイン・テンプレートを変更しないかぎり、この手順で「いいえ」を選択すると、JDBCデータ・ソースは構成されません。JDBCデータ・ソースを構成する場合は、この手順で「はい」を選択してデータ・ソース情報を入力できるページに進みます。

1. JDBCデータソースを作成するには:

- 「はい」を選択します。

- 「次へ」をクリックします。

- 「データベース・プロパティの構成」ウィンドウに新しいJDBCデータソースの値を入力します。
上のセクションで、データソース名を入力します。次に、データベース・タイプ(OracleまたはMicrosoft SQL Server)と該当のドライバを選択します。「Browse/Append」ボタンを使用して、新しいドライバを参照することもできます。

下のセクションで、データベース名、データベース・サーバーをホストするコンピュータ名、ポート、およびデータベースに接続するユーザーの名前とパスワードなど、このデータ・ソースから接続するデータベースの詳細を入力します。この情報に基づいて、使用するJDBC接続URLが自動的に生成されます。

- 「次へ」をクリックします。

2. JDBCデータソースを作成しない場合は、次の手順を実行します。

- 「いいえ」を選択します。

- 「次へ」をクリックします。

14. 「サーバーの構成」ウィンドウで、新しいドメインの名前およびドメインの場所のフル・パス名を入力します。
構成ウィザードでは、ドメインの場所ディレクトリのドメイン名を使用してドメインを作成します。

注意:

ドメインを作成する場合、常にデフォルトのドメイン場所を使用することをお薦めします。

- UNIXでは、デフォルトのドメインはORACLE_CEP_HOME/user_projects/domainsです。

- Windowsでは、デフォルト・ドメインはORACLE_CEP_HOME\user_projects\domainsです。

15. 「作成」をクリックします。
ドメインが正常に作成されると、「Creating Domain」ウィンドウに次のようなメッセージが表示されます。

Domain created successfully!
Domain location: C:\oracle_cep\user_projects\domains\ocep_domain

16. 「完了」をクリックします。
この新しいドメインからEclipse IDEへサーバーを追加する場合、ドメインの作成の詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のローカルOracle CEPサーバーとサーバー・ランタイムの作成方法に関する項を参照してください。

3.2 Oracle CEPスタンドアロンサーバー・ドメインの更新

構成ウィザードを使用して、ドメイン内の既存のサーバーを更新します。

構成ウィザードでは、デフォルトでは、ORACLE_CEP_HOME/user_projects/domainsディレクトリにドメインを作成します。ORACLE_CEP_HOMEはd:/oracle_cepなどのOracle CEPインストール・ディレクトリです。任意のディレクトリにドメインを作成することもできます。

構成ウィザードでは、ドメイン内に単一のデフォルト・サーバーが作成されます。すべてのサーバー関連ファイルは、サーバーと同じ名前のドメイン・ディレクトリ(c:\oracle_cep\user_projects\domains\my_domain\defaultserverなど)のサブディレクトリに格納されます。

ドメイン内の既存スタンドアロンサーバーの構成オプションのうち、更新できるのは次のオプションのみです。

- リスニング・ポート。

- JDBCデータソースの構成。

構成ウィザードでは、以下のいずれかのモードを利用できます。

- グラフィカル・モード: グラフィカル・モードは、対話型のGUIを使用してドメインを更新する方法です。WindowsシステムとUNIXシステムの両方で実行できます。3.2.1項「グラフィカル・モードで構成ウィザードを使用してOracle CEPスタンドアロンサーバー・ドメインを更新する方法」を参照してください。

3.2.1 グラフィカル・モードで構成ウィザードを使用してOracle CEPスタンドアロンサーバー・ドメインを更新する方法

次の手順では、WindowsまたはUnixの両方の関連するコマンド・スクリプトを実行し、グラフィカル・モードで構成ウィザードの起動と使用方法について説明します。

注意:

Windowsでは、「スタート」メニューを使用して構成ウィザードを起動できます。

Start > All Programs > Oracle Complex Event Processing 11gR1 > Tools > Configuration Wizard

わかりやすくするために、この項では、productionServerというサーバーを更新し、サーバー関連ファイルはC:\oracle_cep\user_projects\domains\mydomain\productionServerディレクトリに格納されていると想定します。

構成ウィザードをグラフィカル・モードで使用してOracle CEPスタンドアロンサーバー・ドメインを更新するには:

1. コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項を参照してください。

2. ORACLE_CEP_HOME/ocep_11.1/common/binディレクトリに変更します。ここで、ORACLE_CEP_HOMEは、/oracle_cepのようなメインOracle CEPインストール・ディレクトリを示します。

prompt> cd /oracle_cep/ocep_11.1/common/bin

3. ウィザードを起動するには、config.cmd(Windows)またはconfig.sh(UNIX)コマンドを起動します。

prompt> config.sh

構成ウィザードのロードが終了すると、標準のOracleへようこそウィンドウが表示されます。

注意:

Oracle CEP構成ウィザードはわかりやすいプログラムですが、ツールの使用方法について詳細情報が必要な場合は、以下の手順説明に従ってください。

4. 「次へ」をクリックします。

5. 「ドメインの作成または更新の選択」ウィンドウで、既存のOracle CEPドメインを更新します。を選択します。

6. 「次へ」をクリックします。

7. テキスト・ボックスに、更新するサーバーのファイルがあるサーバー・ディレクトリのフル・パス名を入力します。
この例では、値はC:\oracle_cep\user_projects\domains\mydomain\productionServerです。

8. 「次へ」をクリックします。

9. サーバーのリスニング・ポートを更新します。

注意:

すべてのサーバーが同時に実行しているときに競合を避けるために、ドメイン内の他のサーバーが使用する同じ値を入力しないでください。

10. 「次へ」をクリックします。

11. JDBCデータソース構成を更新するかどうかを決定します。

1. JDBCデータソース構成を更新するには:

- 「はい」を選択します。

- 「次へ」をクリックします。

- 新しいJDBCデータソース値を入力します。

2. JDBCデータソース構成を変更しない場合は、次の手順を実行します。

- 「いいえ」を選択します。

- 「次へ」をクリックします。

12. 「更新」をクリックして、サーバーを更新します。

3.3 スタンドアロンサーバー・ドメインのOracle CEPサーバーの起動と停止

Oracle CEP Visualizer、Oracle CEP IDE for Eclipse、またはコマンドライン・スクリプトのいずれかを使用してOracle CEPスタンドアロンサーバーを起動と停止できます。

この項では次の内容について説明します。

- 3.3.1項「startwlevsスクリプトを使用したOracle CEPスタンドアロンサーバーの起動方法」

- 3.3.2項「stopwlevsスクリプトを使用したOracle CEPスタンドアロンサーバーの停止方法」

3.3.1 startwlevsスクリプトを使用したOracle CEPスタンドアロンサーバーの起動方法

各Oracle CEPサーバー・ディレクトリには、サーバー・インスタンスを起動するコマンド・スクリプトがあります。デフォルトでは、そのスクリプトはstartwlevs.cmd (Windows)またはstartwlevs.sh (UNIX)と呼ばれます。

startwlevsスクリプトを使用してOracle CEPスタンドアロンサーバーを起動するには:

1. サーバー起動スクリプトのJAVA_HOME変数が正しいOracle JRockit JDKを指していることを確認します。正しくない場合は、スクリプトを編集します。
サーバー起動スクリプトは、メイン・ドメイン・ディレクトリ配下のサーバー・ディレクトリにあります。たとえば、HelloWorldドメインのデフォルト・サーバー・ディレクトリはORACLE_CEP_HOME/ocep_11.1/samples/domains/helloworld_domain/defaultserverにあります。ORACLE_CEP_HOMEは、/oracle_cepなどのOracle CEPメイン・インストール・ディレクトリです。

1. Oracle CEPと一緒にインストールされたOracle JRockit JDKを使用している場合は、JAVA_HOME変数を次のように設定します。
UNIXの場合:

JAVA_HOME=ORACLE_CEP_HOME/jrockit_160_20

Windowsの場合:

set JAVA_HOME=ORACLE_CEP_HOME\jrockit_160_20

ORACLE_CEP_HOMEは、/oracle_cep (UNIX)またはc:\oracle_cep (Windows)などのOracle CEP 10.3のインストール・ディレクトリです。

2. Oracle JRockit Real Timeと一緒にインストールされたOracle JRockit JDKを使用している場合は、JAVA_HOME変数を次のように設定します。
UNIXの場合:

JAVA_HOME=ORACLE_RT_HOME/JROCKIT_RT_HOME

Windowsの場合:

set JAVA_HOME=ORACLE_RT_HOME\JROCKIT_RT_HOME

ここで、ORACLE_RT_HOMEは、/jrockit (UNIX)やc:\jrockit (Windows)などの、Oracle JRockit Real Timeのインストール・ディレクトリを示し、JROCKIT_RT_HOMEはJRockit Real Timeディレクトリを示します。

2. コマンド・ウィンドウを開き、ドメイン・ディレクトリのサーバー・ディレクトリに移動します。たとえば、HelloWorldサンプルのサーバーを起動する場合は、次のように入力します。

prompt> cd C:\oracle_cep\ocep_11.1\samples\domains\helloworld_domain\defaultserver

3. startwlevs.cmd (Windows)またはstartwlevs.sh (UNIX)スクリプトを実行します。

prompt> startwlevs.cmd

Oracle JRockit Real Timeに含まれるOracle JRockit JDKを使用している場合は、コマンドに-dgcパラメータを渡して確定的ガベージ・コレクタを有効にします。

prompt> startwlevs.cmd -dgc

注意:

HP-UXの場合、OutOfMemoryErrorを避けるために、startwlevs.shのMaxPermSizeを256に増加する必要があります。たとえば: -XX:MaxPermSize=256m

3.3.2 stopwlevsスクリプトを使用したOracle CEPスタンドアロンサーバーの停止方法

各Oracle CEPサーバー・ディレクトリには、サーバー・インスタンスを停止するコマンド・スクリプトがあります。デフォルトでは、スクリプトはstopwlevs.cmd (Windows)またはstopwlevs.sh (UNIX)と呼ばれます。

注意:

次の手順では、SSLモードで実行しているOracle CEPスタンドアロンサーバーを停止しません。SSLモードで実行しているOracle CEPスタンドアロンサーバーを停止するには、A.4項「SSLモードでのwlevs.Adminユーティリティの実行」で説明されているように、wlevs.Adminユーティリティを実行します。

stopwlevsスクリプトを使用してOracle CEPスタンドアロンサーバーを停止するには:

1. コマンド・ウィンドウを開き、サーバー・ディレクトリに移動します。たとえば、HelloWorldサンプルのサーバーを停止する場合は、次のように入力します。

prompt> cd C:\oracle_cep\ocep_11.1\samples\domains\helloworld_domain\defaultserver

2. stopwlevs.cmd (Windows)またはstopwlevs.sh (UNIX)スクリプトを実行します。
-url引数を使用して、停止するサーバーへのJMX接続を確立するURLを渡します。このURLの形式はservice:jmx:msarmi://host:port//jndi/jmxconnectorです。hostはサーバーをホストしているコンピュータ、portはサーバーのJNDIポートです。いずれも、config.xmlファイルに構成されている値です。例:

prompt> stopwlevs.sh -url service:jmx:msarmi://ariel:9002/jndi/jmxconnector

この例では、ホストはarielで、JMXポートは9002です。9002ポートは、Oracle CEPサーバーのconfig.xml構成ファイルに定義されたnetioポートです。MSAセキュリティでは、9002ポートをJMX接続性に使用します。

-url引数に関する追加詳細は、A.6項「接続引数」を参照してください。

注意:

Windowsの場合、起動したコマンド・プロンプトの「閉じる」ボタンをクリックしてOracle CEPサーバーを停止しないでください。stopwlevs.cmdスクリプトまたはCtrl-Cを使用すると、Oracle CEPサーバーはいつでも停止します。

4 スタンドアロンサーバー・ドメインへのアプリケーションのデプロイ

この章は、アプリケーションをスタンドアロンサーバーOracle Complex Event Processing (Oracle CEP)ドメインにデプロイする方法を、Oracle CEP Visualizerおよびデプロイ・ユーティリティを使用して行う方法を含めて説明します。

- 4.1項「Oracle CEPスタンドアロンサーバー・ドメインへのアプリケーションのデプロイメント」

4.1 Oracle CEPスタンドアロンサーバー・ドメインへのアプリケーションのデプロイ

スタンドアロンサーバー・ドメインへアプリケーションをデプロイする場合、通常は、Oracle CEP Visualizerまたはデプロイヤ・ユーティリティを使用してシングルトン・サーバー・グループへデプロイします。

詳細は、次を参照してください:

- 5.2項「グループ」

- 『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』

- 付録B「デプロイヤ・コマンドライン・リファレンス」

4.1.1 Oracle CEP Visualizerを使用してOracle CEPスタンドアロンサーバーへのアプリケーションをデプロイする方法

Oracle CEPアプリケーションをスタンドアロンサーバー・ドメインへ簡単にデプロイする方法はOracle CEP Visualizerを使用することです。

詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のアプリケーションのデプロイに関する項を参照してください。

4.1.2 デプロイヤ・ユーティリティを使用したOracle CEPシングルトン・サーバー・グループへのアプリケーションをデプロイする方法

アプリケーションをデプロイするときにグループを指定しないと、アプリケーションは、デプロイ先として指定したサーバーのみで構成されるシングルトン・サーバー・グループにデプロイされます。これは単一サーバー・ドメインの標準仕様です。

次の例は、シングルトン・グループへのデプロイ方法を示しています。コマンドに-groupオプションを指定していない点に注意してください。

prompt> java -jar wlevsdeploy.jar -url http://ariel:9002/wlevsdeployer -install myapp_1.0.jar

例では、myapp_1.0.jarアプリケーションは単一サーバーがあるシングルトン・サーバー・グループにデプロイされます。単一サーバーはarielホストで実行していて、9002ポートにリスニングしています。

第III部

マルチサーバー・ドメイン

第III部には次の章が含まれます:

- 第5章「マルチサーバー・ドメインの概要」

- 第6章「Oracle Coherenceを使用したマルチサーバー・ドメインの管理」

- 第7章「Oracle CEPネイティブ・クラスタリングによるマルチサーバー・ドメインの管理」

- 第8章「マルチサーバー・ドメイン上のアプリケーションのデプロイ」

5 マルチサーバー・ドメインの概要

この章は、Oracle CoherenceまたはOracle CEPネイティブ・テクノロジに基づく、Oracle Complex Event Processing (Oracle CEP)マルチサーバー・ドメイン(クラスタともいう)の概要を説明します。マルチサーバー・メッセージング、高可用性、スケーラビリティについての概要も説明します。

- 5.1項「Oracle CEPマルチサーバー・ドメインの管理の概要」

- 5.2項「グループ」

- 5.3項「マルチサーバーの通知およびメッセージング」

- 5.4項「マルチサーバー・ドメインのディレクトリ構造」

- 5.5項「cluster要素の子要素の順序」

- 5.6項「高可用性およびマルチサーバー・ドメイン」

- 5.7項「スケーラビリティおよびマルチサーバー・ドメイン」

- 5.8項「次のステップ」

5.1 Oracle CEPマルチサーバー・ドメインの管理の概要

Oracle CEPマルチサーバー・ドメイン(またはクラスタ)は、管理上の目的で論理的に接続され、共有のユーザー・データグラム・プロトコル(UDP)マルチキャスト・アドレスおよびポートを使用して物理的に接続される、1つ以上のサーバーを追加できるドメインです。Oracle CEPマルチサーバー・ドメインのすべてのサーバーは、ドメイン内のその他すべてのサーバーを認識します。また、ドメイン内のデプロイメントに変更を加えるためのアクセス・ポイントとして、いずれか1つのサーバーを使用できます。

マルチサーバー・インフラストラクチャの管理はドメイン・レベルで実行されます。このため、サーバー障害、起動、または再起動は、マルチサーバー・ドメインのどのメンバーでも検出されます。マルチサーバー・ドメインの各メンバーは、マルチサーバー・インフラストラクチャで使用されるドメイン・メンバーシップについて、一貫性のある一致した認識を保持します。

マルチサーバー・ドメインでサーバーを適切に構成するには、そのサーバーは、同じマルチキャスト・アドレスとポート、および同じドメイン名を使用して構成する必要があります。同じマルチキャスト・アドレスおよびポートを使用し、異なるドメイン名を使用してサーバーを構成するとエラーになります。

マルチサーバー・ドメインのデフォルト・グループにデプロイ済アプリケーションは、そのドメインのすべてのサーバーに均一にデプロイされるので、すべてのサーバーにはアプリケーションで必要となる適切な構成リソースがある必要があります。

Oracle CEPでは、次のクラスタリング・システムをサポートします。

- 5.1.1項「Oracle Coherenceクラスタリング」

- 5.1.2項「Oracle CEPネイティブ・クラスタリング」

また、この章では次の内容についても説明します。

- 5.2項「グループ」

- 5.3項「マルチサーバーの通知およびメッセージング」

- 5.4項「マルチサーバー・ドメインのディレクトリ構造」

- 5.5項「cluster要素の子要素の順序」

- 5.6項「高可用性およびマルチサーバー・ドメイン」

- 5.7項「スケーラビリティおよびマルチサーバー・ドメイン」

- 5.8項「次のステップ」

詳細は、次を参照してください:

- 1.1項「Oracle CEPサーバーおよびドメインの理解」

- 1.3項「Oracle CEPサーバー構成の理解」

5.1.1 Oracle Coherenceクラスタリング

Oracle Coherence: 信頼のおけるスケーラビリティの高いピア・ツー・ピアのクラスタリング・プロトコル上で、複製および配布した(パーティション化した)データの管理サービスを行います。Oracle Coherenceでは単一点障害がなく、サーバーが正常に動作しなくなったときやネットワークから切断されたときは、クラスタ・データの管理サービスを自動的かつ透過的にフェイルオーバーして再配布します。新しいサーバーが追加されたとき、または障害が発生したサーバーを再起動するときは、クラスタを自動的に接続し、Oracle Coherenceがサービスをフェイルバックして、そのクラスタの負荷を透過的に再分配します。

注意:

Oracle CEPでOracle Coherenceを使用する前に、Coherence Enterprise Edition、Coherence Grid Edition、またはOracle WebLogic Application GridなどのOracle Coherenceの有効なライセンスを取得する必要があります。Oracle Coherenceの詳細は、http://www.oracle.com/technology/products/coherence/index.htmlを参照してください。

Oracle Coherenceを使用すると、Oracle CEPの高可用性とサービス品質オプションを利用できます。

詳細は、次を参照してください:

- 6.1項「Oracle Coherenceを使用したOracle CEPマルチサーバー・ドメインの作成」

- 5.6項「高可用性およびマルチサーバー・ドメイン」

5.1.2 Oracle CEPネイティブ・クラスタリング

Oracle CEPネイティブ・クラスタリング: TOTEMに基づいてネイティブ・クラスタリング実装を行います。

Oracle CEPネイティブ・クラスタリングを使用する場合、Oracle CEPの高可用性とサービス品質オプションを利用できません。

詳細は、7.1項「Oracle CEPネイティブ・クラスタリングを使用したOracle CEPマルチサーバー・ドメインの作成」を参照してください。

5.2 グループ

マルチサーバー・ドメインへのデプロイメントおよびマルチサーバー・ドメインの管理をドメインよりも細かいレベルでサポートするために、Oracle CEPではグループという概念を取り入れています。グループは1つ以上のサーバーの集まりで、ドメイン内で固有の名前を持ちます。Oracle CEPドメイン内では、構成可能なグループ・メンバーシップを持つ任意の数のグループを共存させることができます。1つのサーバーが複数のグループのメンバーになっている場合があります。ただし、通常、この情報はユーザーからは意識されていません。

マルチサーバー・ドメインにアプリケーションをデプロイするときは、特定のグループにデプロイします。任意のグループにデプロイされるアプリケーションの名前は、ドメイン内で一意である必要があります。

マルチサーバー・ドメインのグループにデプロイ済アプリケーションは、そのグループのすべてのサーバーに均一にデプロイされるので、すべてのサーバーにはアプリケーションで必要となる適切な構成リソースがある必要があります。

サーバーにデプロイされるアプリケーションは、同じドメイン内の別のサーバーからアンインストールできます。

次の定義済のデプロイメント・グループは必ず存在します。

- 5.2.1項「シングルトン・サーバー・デプロイメント・グループ」

- 5.2.2項「ドメイン・デプロイメント・グループ」

または、カスタム・デプロイメント・グループを作成できます(5.2.3項「カスタム・デプロイメント・グループ」を参照してください)。

注意:

Oracle CEP高可用性アプリケーションをデプロイし、スケーラビリティが必要な場合、Oracle CEP高可用性通知グループを作成する必要もあります。詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のデプロイメント・グループと通知グループに関する項を参照してください。

5.2.1 シングルトン・サーバー・デプロイメント・グループ

このグループはローカル・サーバーのみが含まれます。これは、このグループのメンバーシップがアクセス元のサーバーに依存していることを意味します。このグループは、デプロイメントを単一サーバーに固定するために使用できます。

詳細は、6.1.1項「Oracle Coherenceを使用したデフォルト・グループによるOracle CEPマルチサーバー・ドメインの作成方法」を参照してください。

5.2.2 ドメイン・デプロイメント・グループ

このグループはドメインの有効なすべてのメンバーが含まれています。メンバーシップは自動管理され、ユーザーが変更することはできません。

ドメイン名は、Oracle CEPサーバーのconfig.xmlファイルのdomain要素によって決定されます。たとえば、次に示すconfig.xmlファイルの場合、ドメインにはmydomainという名前が付けられます。

<domain>
<name>mydomain</name>
</domain>

デフォルト名は、WLEventServerDomainです。

詳細は、6.1.1項「Oracle Coherenceを使用したデフォルト・グループによるOracle CEPマルチサーバー・ドメインの作成方法」を参照してください。

5.2.3 カスタム・デプロイメント・グループ

マルチサーバー・ドメインで均一なサーバーの集まり全体にアプリケーション・ロジックを簡単にレプリケートできない場合があります。様々な価格設定エンジンの提示価格から最適価格を判定するアプリケーションや、値の位置がしきい値を超えた場合にアラートを送信するアプリケーションは、このタイプのアプリケーションの例です。このような場合、アプリケーションは冪等ではなく、1回だけ値を算出したり、単一のイベントを送信したりする必要があります。モニター・アプリケーションやHTTP pub-subサーバーなど、その他の場合は、アプリケーションはシングルトンの性質を持ちます。

より複雑な例として、次の2つのアプリケーションを使用するドメインがあるとします。strategiesアプリケーションでは複数の方法を使用してデリバティブの様々な価格を計算し、selectorアプリケーションに計算結果を送信します。selectorアプリケーションではstrategiesアプリケーションの結果から提示される様々な選択肢から最適価格を選択します。フォールト・トレランスを実現するためにstrategiesアプリケーションをレプリケートできます。しかし、selectorアプリケーションは、最適価格を決定するために状態が保持される必要があります。そのため、selectorアプリケーションは双方向ではレプリケートできません。

ドメインが完全に同一ではないサーバーをサポートする必要がある場合、カスタム・グループを使用して構成します。

マルチサーバー・ドメインのカスタム・グループにデプロイ済アプリケーションは、そのグループのすべてのサーバーに均一にデプロイされるので、すべてのサーバーにはアプリケーションで必要となる適切な構成リソースがある必要があります。

詳細は、6.1.2項「Oracle Coherenceを使用したカスタム・グループによるOracle CEPマルチサーバー・ドメインの作成方法」を参照してください。

5.3 マルチサーバーの通知およびメッセージング

アダプタおよびイベントBeanの実装において高可用性(HA)と同等の機能を実現するために、Oracle CEPではグループ・レベルおよびサーバー・レベルの両方で、数多くの通知APIおよびメッセージングAPIを提供しています。これらのAPIを使用して、管理者による意図的な変更またはサーバー障害のためにグループまたはドメイン・メンバーシップが変更された場合に通知を受け取るように、サーバーを構成できます。同様に、これらのAPIを使用して個々のグループおよびドメインの両方にメッセージを送信できます。

Oracle CEPの高可用性オプションを使用するようにアプリケーションを構成する場合は、プライマリOracle CEPサーバーでは、Oracle Coherenceを使用してセカンダリ・サーバーと通信し、セカンダリ・サーバーにプライマリ・サーバーのイベント処理の進行状況の最新情報を送信します。

安全に通信できるようにマルチサーバー・ドメインで複数のOracle CEPサーバーを構成できます。

詳細は、次を参照してください:

- 6.3.1項「Oracle Coherenceを使用したマルチサーバー・ドメインのサーバー間で送信されるメッセージの保護方法」

- 7.3.1項「Oracle CEPネイティブ・クラスタリングを使用したマルチサーバー・ドメインのサーバー間で送信されるメッセージの保護方法」

- 『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』の高可用性の理解に関する項

5.4 マルチサーバー・ドメインのディレクトリ構造

Oracle CEPドメインのサーバーは単一のディレクトリにファイルを格納します。通常、マルチ・サーバー・ドメイン内のサーバーのディレクトリは、ドメイン・ディレクトリのサブディレクトリです。また、サーバー名とドメイン名はそれぞれ、サーバー・ディレクトリ名とドメイン・ディレクトリ名に対応します。これは単に一般的な構造であり必須ではありませんが、わかりやすさと一貫性を保つために、この方法でドメインを設定することをお薦めします。マルチ・サーバー・ドメインのサーバーが別々のコンピュータに配置されている場合も、わかりやすさと一貫性を保つために、両方のコンピュータにディレクトリ構造をレプリケートすることをお薦めします。

図5-1に、3つのサーバーがあるマルチサーバー・ドメイン・ディレクトリを示しています。

図5-1 マルチサーバー・ドメインのディレクトリ構造

「図5-1 マルチサーバー・ドメインのディレクトリ構造」の説明

myServer1構成ファイルのスニペットでは、ドメイン・ディレクトリとドメイン・オブジェクトが同じ名前で構成され、サーバー・ディレクトリとサーバー名が同じ名前で構成されています。ドメイン・ディレクトリは、Oracle CEPドメインのデフォルトの場所であるORACLE_CEP_HOME/user_projects/domainsディレクトリにあります。

5.5 cluster要素の子要素の順序

config.xmlファイルのcluster要素の子要素の順序は重要です。間違った順序で要素を含まれた場合、エラーが発生する可能性があります。次のリストは、子要素をリストする順序を示しています。

- server-name

- server-host-name: ポイント・ツー・ポイントのHTTPマルチサーバー通信に使用するホスト・アドレス/IPを指定します。デフォルト値はlocalhostです。
マルチサーバー・ドメイン内の1つ以上のOracle CEPサーバーが異なるホストにあり、Oracle CEP Visualizerを使用してマルチサーバー・ドメインを管理する場合は、この要素が必須です。サーバーが複数のIPアドレスが構成されたホスト・マシンにデプロイされている場合も、これは必須です(マルチサーバーかスタンドアロンサーバー環境のいずれでも)。

- multicast-address: マルチキャスト通信アドレス。Coherenceの場合、ユニキャスト・アドレスの既知アドレス(WKA)を使用できます。

- multicast-port: オプション。マルチキャスト・トラフィックに使用されるポートを指定します。デフォルト値は9001です。

- identity: Oracle CEPネイティブ・クラスタリングを使用する場合のみ必須です。Oracle Coherenceの場合は使用しません。

- enabled

- security

- groups

- operation-timeout: オプション。ポイント・ツー・ポイントのHTTPマルチサーバー・リクエストのタイムアウトを指定します(ミリ秒)。デフォルト値は30000です。

Oracle CEPサーバーのconfig.xmlファイルのcluster要素に関する詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のclusterに関する項を参照してください。

5.6 高可用性およびマルチサーバー・ドメイン

マルチサーバー・ドメインに対してOracle Coherenceクラスタリングを使用する場合、Oracle CEPの高可用性とサービス品質オプションを利用できます。Oracle CEPネイティブ・クラスタリングを使用する場合、これらのオプションはサポートされていません。

詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』の高可用性の理解に関する項を参照してください。

5.7 スケーラビリティおよびマルチサーバー・ドメイン

Oracle CoherenceまたはOracle CEPネイティブ・クラスタリングを使用する場合、Oracle CEPのスケーラビリティとサービス品質オプションを利用できます。

詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のスケーラビリティの理解に関する項を参照してください。

5.8 次のステップ

独自のOracle CEPマルチサーバー・ドメインを作成した後、1.5項「Oracle CEPサーバーの管理タスクの理解」で説明されている管理タスクを参照してください。

たとえば、次の操作を実行できます。

- オプションで、サーバーを構成します。
1.3項「Oracle CEPサーバー構成の理解」を参照してください。

- Oracle CEPアプリケーションを作成します。
プログラミング・モデルの説明、アプリケーションを構成する各種コンポーネントの詳細、コンポーネントの連動の仕組み、および新しいアプリケーションを作成する一般的な手順は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』を参照してください。

- 新規または既存のOracle CEPアプリケーションをドメインにデプロイします。
詳細は、次を参照してください:

- 8.1項「Oracle CEPマルチサーバー・ドメインへのアプリケーションのデプロイの概要」

- 『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のOracle CEPアプリケーションのアセンブルとデプロイに関する項

- アプリケーション、サーバーおよびドメインを管理します。

- Oracle CEP Visualizerを使用します。
『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』を参照してください。

- wlevs.Adminコマンドライン・ツールを使用します。
付録A「wlevs.Adminコマンドライン・リファレンス」を参照してください。

- JMXおよびMBeanを使用します。
12.3項「JMXによる管理」を参照してください。

6 Oracle Coherenceを使用したマルチサーバー・ドメインの管理

この章は、Oracle Coherenceに基づくOracle Complex Event Processing (Oracle CEP)マルチサーバー・ドメインの管理方法を説明します。マルチサーバー・ドメインの作成と更新方法を、メッセージの保護、メンバーシップの変更の管理、サーバーの起動と停止方法とともに説明します。

- 6.1項「Oracle Coherenceを使用したOracle CEPマルチサーバー・ドメインの作成」

- 6.2項「Oracle Coherenceを使用したOracle CEPマルチサーバー・ドメインの更新」

- 6.3項「マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護」

- 6.4項「マルチサーバー・ドメインAPIを使用したグループ・メンバーシップの変更管理」

- 6.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」

6.1 Oracle Coherenceを使用したOracle CEPマルチサーバー・ドメインの作成

この項では、Oracle Coherenceを使用して2つ以上のOracle CEPサーバーからなるマルチサーバー・ドメインを作成して構成する方法を説明します。次のものが含まれます。

- 6.1.1項「Oracle Coherenceを使用したデフォルト・グループによるOracle CEPマルチサーバー・ドメインの作成方法」

- 6.1.2項「Oracle Coherenceを使用したカスタム・グループによるOracle CEPマルチサーバー・ドメインの作成方法」

- 6.1.3項「Oracle Coherenceクラスタの構成」

注意:

マルチサーバー・ドメインでサーバーを適切に構成するには、そのサーバーは、同じマルチキャスト・アドレスとポート、および同じドメイン名を使用して構成する必要があります。同じマルチキャスト・アドレスおよびポートを使用し、異なるドメイン名を使用してサーバーを構成するとエラーになります。

6.1.1 Oracle Coherenceを使用したデフォルト・グループによるOracle CEPマルチサーバー・ドメインの作成方法

この手順では、事前定義済の2つのグループ(シングルトン・グループとドメイン・グループ)のみを使用してマルチサーバー・ドメインを作成する方法について説明します。デフォルト・グループを使用するドメインでは、すべてのサーバーが完全に同一である必要があります。

ドメインが完全に同一ではないサーバーをサポートする必要がある場合、カスタム・グループを使用して構成します。6.1.2項「Oracle Coherenceを使用したカスタム・グループによるOracle CEPマルチサーバー・ドメインの作成方法」を参照してください。

注意:

Oracle CEP高可用性アプリケーションをデプロイし、スケーラビリティが必要な場合、Oracle CEP高可用性通知グループを作成する必要もあります。詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のデプロイメント・グループと通知グループに関する項を参照してください。

注意:

この項では、1つのサーバーを含むドメインがすでに作成済であり、ドメインをマルチサーバー・ドメインにするには追加のサーバーをドメインに追加することを前提としています。ドメインの作成の詳細は、第3章「Oracle CEPスタンドアロンサーバー・ドメインの管理」を参照してください。

Coherenceを使用してデフォルト・グループによるOracle CEPマルチサーバー・ドメインを作成するには:

1. 1つの初期サーバーを含むドメインを作成します。
第3章「Oracle CEPスタンドアロンサーバー・ドメインの管理」を参照してください。

2. 構成ウィザードを使用して、ドメインに1つまたは複数のサーバーを追加します。

注意:

構成ウィザードではマルチサーバー・ドメインへの新規サーバーの追加はサポートされていませんが、構成ウィザードを使用して新しいスタンドアロンサーバーを生成し、生成したサーバーの構成を手動で更新することにより、サーバーをマルチサーバー・ドメインに追加できます。

6.2項「Oracle Coherenceを使用したOracle CEPマルチサーバー・ドメインの更新」を参照してください。

3. 手動でconfig.xmlファイルを編集し、特定の情報とともにcluster要素を追加して、マルチサーバー・ドメイン内のすべてのサーバーを構成します。
デフォルト・グループを使用してマルチサーバー・ドメインのサーバーを構成するには、例6-1に示すように、ルートconfig要素のcluster子要素を追加して、各メンバー・サーバーのconfig.xmlファイルを更新します。

clusterの次の子要素を含みます。

- server-name: clusterのserver-name子要素は、サーバーの一意の名前を指定します。コンソールにサーバーを表示する場合、Oracle CEP Visualizerはこの要素の値を使用します。
デフォルト: 設定している場合はOracle Coherenceメンバー名、またはWLEvServer-MEMBERID。

- server-host-name: ポイント・ツー・ポイントHTTPマルチサーバー通信に使用するホスト・アドレス/IPを指定します。デフォルト値はlocalhostです。
マルチサーバー・ドメイン内の1つ以上のOracle CEPサーバーが異なるホストにあり、Oracle CEP Visualizerを使用してマルチサーバー・ドメインを管理する場合は、この要素が必須です。サーバーが複数のIPアドレスが構成されたホスト・マシンにデプロイされている場合も、これは必須です(マルチサーバーかスタンドアロンサーバー環境のいずれでも)。

- multicast-address: マルチサーバー・ドメインのすべてのサーバーが同じコンピュータ上でホストされている場合を除いて、multicast-address要素は必要です。その場合は、multicast-address要素を省略でき、コンピュータのIPアドレスに基づいてOracle CEPによりマルチサーバー・ドメインにマルチキャスト・アドレスが自動的に割り当てられます。
ただし、サーバーが異なるコンピュータ上でホストされる場合、適切なドメイン・ローカル・アドレスを提供する必要があります。Oracleは、239.255.X.X形式のアドレスを使用することをお薦めします。自動で割り当てられたマルチキャスト・アドレスは、このアドレスに基づきます。

このmulticast-addressを使用しているすべてのOracle CEPサーバーは、同一のサブネット上にある必要があります。

Oracle Coherenceを使用して、ここでユニキャスト・アドレスを指定できます。Oracle CoherenceはWKA (Well Known Addressing)を使用します。

- enabled: デフォルトでは、Oracle Coherenceでマルチサーバー・ドメインにあるサーバーのクラスタリングは有効化されているため、<enabled>true</enabled>要素はオプションです。

例6-1では、サーバーがmyDomainというドメインの一部です。

例6-1 myServer1 config.xmlファイル

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer1</server-name>
<multicast-address>239.255.0.1</multicast-address>
<enabled>true</enabled>
</cluster>
...
</config>

マルチサーバー・ドメインの各サーバーに対して、multicast-address要素には同じ値が含まれている必要があります。ただし、server-name要素は、マルチサーバー・ドメインの各サーバーで異なる必要があります。例6-2には、myDomainマルチサーバー・ドメインのmyServer2という2番目のサーバーのconfig.xmlファイルを示します。

例6-2 myServer2 config.xmlファイル

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer2</server-name>
<multicast-address>239.255.0.1</multicast-address>
<enabled>true</enabled>
</cluster>
...
</config>

追加のマルチサーバーの関連する構成要素と子要素の必要な順序の説明は、5.5項「cluster要素の子要素の順序」を参照してください。

4. オプションで、必要に応じてデフォルトのOracle Coherenceクラスタリング構成をオーバーライドできます。
6.1.3項「Oracle Coherenceクラスタの構成」を参照してください。

5. オプションで、暗号化とデジタル署名を構成して、ドメイン内のサーバー間で共有されるメッセージを保護します。
6.3.1項「Oracle Coherenceを使用したマルチサーバー・ドメインのサーバー間で送信されるメッセージの保護方法」を参照してください。

6. 単一点障害を防ぐために、ドメインにあるnマシンの小さいサブセットでOracle CEP Visualizerを有効にすることを考慮します。
『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のマルチサーバー・ドメインでOracle CEP Visualizerを起動する方法に関する項を参照してください。

注意:

特定のOracle CEPサーバーでOracle CEP Visualizerを有効にすると、Oracle CEP Visualizerのワークロードによってサーバーのパフォーマンスが低下される可能性があります。

7. マルチサーバー・ドメインのすべてのサーバーを起動します。
6.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。

6.1.2 Oracle Coherenceを使用したカスタム・グループによるOracle CEPマルチサーバー・ドメインの作成方法

この手順では、完全に同一ではないサーバーを格納するためにカスタム・グループを使用するOracle Coherenceを使用したマルチサーバー・ドメインの作成方法について説明します。

ドメインにあるすべてのサーバーが完全に同一である場合、カスタム・グループを作成する必要はありません。かわりに、事前定義済のデフォルト・グループ(シングルトン・グループとドメイン・グループ)を使用できます。6.1.1項「Oracle Coherenceを使用したデフォルト・グループによるOracle CEPマルチサーバー・ドメインの作成方法」を参照してください。

注意:

Oracle CEP高可用性アプリケーションをデプロイし、スケーラビリティが必要な場合、Oracle CEP高可用性通知グループを作成する必要もあります。詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のデプロイメント・グループと通知グループに関する項を参照してください。

注意:

この項では、1つのサーバーを含むドメインがすでに作成済であり、ドメインをマルチサーバー・ドメインにするには追加のサーバーをドメインに追加することを前提としています。ドメインの作成の詳細は、第3章「Oracle CEPスタンドアロンサーバー・ドメインの管理」を参照してください。

この手順では、myServer1、myServer2、およびmyServer3と3つのサーバーを作成していることを想定します。myServer1は、selectorグループのメンバーであり、myServer2とmyServer3は、strategyグループのメンバーであるとしています。

Oracle Coherenceを使用してカスタム・グループによるOracle CEPマルチサーバー・ドメインを作成するには:

1. 1つの初期サーバーを含むドメインを作成します。
第3章「Oracle CEPスタンドアロンサーバー・ドメインの管理」を参照してください。

2. 構成ウィザードを使用して、ドメインに1つまたは複数のサーバーを追加します。

注意:

構成ウィザードではマルチサーバー・ドメインへの新規サーバーの追加はサポートされていませんが、構成ウィザードを使用して新しいスタンドアロンサーバーを生成し、生成したサーバーの構成を手動で更新することにより、サーバーをマルチサーバー・ドメインに追加できます。

6.2項「Oracle Coherenceを使用したOracle CEPマルチサーバー・ドメインの更新」を参照してください。

3. 手動でconfig.xmlファイルを編集し、特定の情報とともにcluster要素を追加して、マルチサーバー・ドメイン内のすべてのサーバーを構成します。
カスタム・グループを使用してマルチサーバー・ドメイン内のサーバーを構成するには、ファイルがすでに存在していない場合はclusterのgroups子要素を追加して各メンバー・サーバーのconfig.xmlファイルを更新し、groups要素の値としてグループの名前を指定します。

注意:

cluster要素の子要素を追加する場合は、5.5項「cluster要素の子要素の順序」に示すように要素の正しい順序を監視します。

サーバーが複数のグループのメンバーである場合、groups要素には複数のグループ名が含まれます。カンマを使用して複数のグループ名を区切ります。

groups要素はオプションです。サーバー構成にこの要素がない場合、サーバーはデフォルト・グループ(ドメインおよびシングルトン)のメンバーになります。ドメインとシングルトン・グループの詳細は、5.2項「グループ」を参照してください。

例6-3、例6-4、および例6-5には、各サーバーのconfig.xmlファイルに関連するスニペットを示します。

例6-3 myServer1のサーバー構成ファイルconfig.xml

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer1</server-name>
<multicast-address>239.255.0.1</multicast-address>
<enabled>true</enabled>
<groups>selector</groups>
</cluster>
...
</config>

例6-4 myServer2のサーバー構成ファイルconfig.xml

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer2</server-name>
<multicast-address>239.255.0.1</multicast-address>
<enabled>true</enabled>
<groups>strategy</groups>
</cluster>
...
</config>

例6-5 myServer3のサーバー構成ファイルconfig.xml

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer3</server-name>
<multicast-address>239.255.0.1</multicast-address>
<enabled>true</enabled>
<groups>strategy</groups>
</cluster>
...
</config>

4. オプションで、必要に応じてデフォルトのOracle Coherenceクラスタリング構成をオーバーライドできます。
6.1.3項「Oracle Coherenceクラスタの構成」を参照してください。

5. オプションで、暗号化とデジタル署名を構成して、ドメイン内のサーバー間で共有されるメッセージを保護します。
6.3.1項「Oracle Coherenceを使用したマルチサーバー・ドメインのサーバー間で送信されるメッセージの保護方法」を参照してください。

6. 単一点障害を防ぐために、ドメインにあるnマシンの小さいサブセットでOracle CEP Visualizerを有効にすることを考慮します。
『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のマルチサーバー・ドメインでOracle CEP Visualizerを起動する方法に関する項を参照してください。

注意:

特定のOracle CEPサーバーでOracle CEP Visualizerを有効にすると、Oracle CEP Visualizerのワークロードによってサーバーのパフォーマンスが低下される可能性があります。

7. マルチサーバー・ドメインのすべてのサーバーを起動します。
6.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。

6.1.3 Oracle Coherenceクラスタの構成

Oracle CEPは、Oracle Coherenceにより提供されるネイティブ構成を利用します。これは、Oracle Coherenceキャッシュを使用するアプリケーション・バンドルで、次のOracle Coherence構成ファイルを示された名前でパッケージすることにより行います。

- tangosol-coherence-override.xml - Oracle Coherenceクラスタ構成。このファイルの詳細および例は、6.1.3.1項「tangosol-coherence-override.xmlファイル」を参照してください。

アプリケーションをアセンブルするときには、次を考慮します。

- tangosol-coherence-override.xmlは、グローバルなサーバーごとのファイル(Oracle Coherenceドキュメントでは「操作構成」と呼ばれる)です。このファイルをOracle CEPサーバーconfigディレクトリに配置します。

キャッシュ・システムでOracle Coherenceプロバイダの使用を宣言する場合は、このキャッシュ・システムのすべてのキャッシュについても、Oracle CEPのローカル構成のかわりにOracle Coherence構成にマップされることを必ず確認してください。それ以外の場合は、Oracle CEPで例外がスローされます。

6.1.3.1 tangosol-coherence-override.xmlファイル

tangosol-coherence-override.xmlファイルはOracle Coherenceクラスタリングを構成します。

次の例は単純な構成を示します。太字部分に関する説明は例の後にあります。

<?xml version='1.0'?>
<coherence xml-override="/tangosol-coherence-override.xml">
<cluster-config>
<member-identity>
<cluster-name>com.bea.wlevs.example.provider</cluster-name>
</member-identity>
...
</coherence>

この構成ファイルは完全に標準のファイルです。Oracle CEPの起動時にOracle Coherenceが既存のOracle Coherenceクラスタに結合しようとするのを防ぐために、cluster-name要素を指定する必要がある点に注意してください。結合すると、問題の原因になり、Oracle CEPが起動できなくなる場合があります。

tangosol-coherence-override.xmlファイルの詳細は、『Oracle Coherence開発者ガイド』の操作オーバーライド・ファイル(tangosol-coherence-override.xml)に関する項を参照してください。

6.2 Oracle Coherenceを使用したOracle CEPマルチサーバー・ドメインの更新

ドメインを後でマルチサーバー・ドメインに変換できるように、構成ウィザードを使用して新しいサーバーを既存のスタンドアロン・サーバー・ドメインに追加します。手順は新しいドメインを作成する場合と同じです。この項を続行する前に3.1項「Oracle CEPスタンドアロンサーバー・ドメインの作成」を必ず参照してください。

6.2.1 グラフィカル・モードでの構成ウィザードを使用したOracle CEPマルチサーバー・ドメインの更新方法

次の手順では、WindowsまたはUnixの両方の関連するコマンド・スクリプトを実行し、グラフィカル・モードで構成ウィザードの起動と使用方法について説明します。

注意:

Windowsでは、「スタート」メニューを使用して構成ウィザードを起動できます。

Start > All Programs > Oracle Complex Event Processing 11gR1 > Tools > Configuration Wizard

わかりやすくするために、以下を前提とします。

- 新しいドメインをすでに作成済であり、ドメイン・ディレクトリはC:\oracle_cep\user_projects\domains\mydomainです。

- ドメインにはdefaultserverという単一のサーバーが含まれ、サーバー・ファイルはC:\oracle_cep\user_projects\domains\myDomain\myServer1ディレクトリにあります。

- 既存のmydomainドメインにmyServer2という新しいサーバーを作成します。

グラフィカル・モードで構成ウィザードを使用してOracle CEPマルチサーバー・ドメインを更新するには:

1. コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項を参照してください。

2. ORACLE_CEP_HOME/ocep_11.1/common/binディレクトリに変更します。ここで、ORACLE_CEP_HOMEは、/oracle_cepのようなメインOracle CEPインストール・ディレクトリを示します。

prompt> cd /oracle_cep/ocep_11.1/common/bin

3. ウィザードを起動するには、config.cmd(Windows)またはconfig.sh(UNIX)コマンドを起動します。

prompt> ./config.sh

構成ウィザードのロードが終了すると、標準のOracleへようこそウィンドウが表示されます。

注意:

Oracle CEP構成ウィザードはわかりやすいプログラムですが、ツールの使用方法について詳細情報が必要な場合は、以下の手順説明に従ってください。

4. 「次へ」をクリックします。

5. 「ドメインの作成または更新の選択」ウィンドウで、「新規Oracle CEPドメインの作成」を選択します。

6. 「次へ」をクリックします。

7. ドメインに追加する新しいサーバーの管理者ユーザー名とパスワードを入力します。

8. 「次へ」をクリックします。

9. ドメインの新しいサーバーに関する基本構成情報を入力します。新しいサーバーがドメイン内の他のサーバーと同じコンピュータ上に配置される場合、すべてのサーバーを起動したときに競合が発生しないように、次の情報が他のサーバーと重複しないようにする必要があります。具体的には:

- 新しいサーバー名を入力します。この名前は、新しいサーバーのファイルを格納するディレクトリ名としても使用されます。次の例では、この値はmyServer1です。

- Oracle CEP自体のリスニング・ポート。

10. 「次へ」をクリックします。

11. Oracle CEP IDキーストアのパスワードを入力して確認します。デフォルトでは、証明書のプライベート・キーのパスワードはアイデンティティ・キーストアと同じです。別のパスワードを使用する場合は、キーストア・パスワードを使用の選択を解除し、プライベート・キーのパスワードを入力します。

12. 「次へ」をクリックします。

13. 「構成オプション」ウィンドウで、次のように設定をします。

1. デフォルトのJDBCデータ・ソース構成を変更する場合は、「はい」を選択します。

2. デフォルトの構成を使用する場合は、「いいえ」を選択します。

注意:

アプリケーションをドメイン内のグループにデプロイすると、Oracle CEPはグループのメンバーである各サーバーにアプリケーションをレプリケートします。つまり、アプリケーションでデータソースを使用し、ドメイン内のサーバーごとにデータソースの構成が異なる場合は、このデータ・ソースでのデータの格納および取得は、アプリケーションを実行しているサーバーによって異なります。

14. 「次へ」をクリックします。

15. デフォルトのJDBCデータ・ソース構成を変更することを選択した場合は、「Configure Database Properties」ウィンドウに情報を入力します。
上のセクションで、データソース名を入力します。次に、データベース・タイプ(OracleまたはMicrosoft SQL Server)と該当のドライバを選択します。「Browse/Append」ボタンを使用して、新しいドライバを参照することもできます。

下のセクションで、データベース名、データベース・サーバーをホストするコンピュータ名、ポート、およびデータベースに接続するユーザーの名前とパスワードなど、このデータ・ソースから接続するデータベースの詳細を入力します。この情報に基づいて、使用するJDBC接続URLが自動的に生成されます。

16. 「次へ」をクリックします。

17. 「サーバーの構成」ウィンドウで、既存のドメイン名とドメインの場所のフル・パス名を入力します。次の例では、ドメイン名にmyDomain、ドメインの場所にC:\oracle_cep\user_projects\domainsを入力します。

18. 「作成」をクリックします。

19. 新しいサーバーが正常に作成されると、「Creating Domain」ウィンドウに以下のようなメッセージが表示されます。

Domain created successfully!
Domain location: /oracle_cep/user_projects/domains/myDomain

20. 「完了」をクリックします。

6.3 マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護

マルチサーバーに関係するメッセージを変換することで、マルチサーバー・ドメインのサーバーはその状態を更新します。それらのメッセージは少なくとも整合性のチェックをすることが重要です。整合性を実現するために秘密鍵を使用できます。この鍵はドメインのすべてのサーバーで共有される必要があります。

この項では次の内容について説明します。

- 6.3.1項「Oracle Coherenceを使用したマルチサーバー・ドメインのサーバー間で送信されるメッセージの保護方法」

6.3.1 Oracle Coherenceを使用したマルチサーバー・ドメインのサーバー間で送信されるメッセージの保護方法

Oracle Coherenceクラスタリングの実装を使用してマルチサーバー・ドメインのサーバー間で送信されるメッセージを保護できます。

Oracle Coherenceを使用してマルチサーバー・ドメインのサーバー間で送信されるメッセージを保護するには:

1. サーバーが現在実行中の場合、マルチサーバー・ドメインのすべてのサーバーを停止します。
6.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。

2. 例6-6に示すようにsecurity子要素をcluster要素に追加し、マルチサーバー・ドメインの各サーバーのconfig.xmlファイルを編集します。

例6-6 cluster要素のsecurity子要素

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer1</server-name>
<multicast-address>239.255.0.1</multicast-address>
<identity>1</identity>
<enabled>coherence</enabled>
<security>encrypt</security>
</cluster>
...
</config>

config.xmlファイルは、各サーバーのDOMAIN_DIR/servername/configディレクトリにあります。ここで、DOMAIN_DIRは、ドメイン・ディレクトリを参照し、servernameは、d:\oracle_cep_home\user_projects\domains\mydomain\myserver1\configのようなサーバーの名前を参照します。

security子要素に対して次のいずれかの値を指定する必要があります。

- none: デフォルト値。マルチサーバー・ドメインに対してセキュリティが構成されていないことを指定します。

- encrypt: マルチサーバー・メッセージを暗号化する必要があることを指定します。

cluster要素の子要素の正しい順序に従います。5.5項「cluster要素の子要素の順序」を参照してください。

3. 例6-7に示すようにconfigルート要素のencryption-service子要素を追加し、マルチサーバー・ドメインの各サーバーのDOMAIN_DIR/servername/config/security-config.xmlファイルを編集します。

例6-7 security-config.xmlファイルのencryption-service要素

<config>
<encryption-service>
<signature-enabled>true</signature-enabled>
</encryption-service>
<css-realm>
...
</config>

4. マルチサーバー・ドメインの各サーバーのDOMAIN_DIR/servername/.aesinternal.datファイルは、1つのサーバーから他のサーバーにコピーすることによって、まったく同じであることを確認します。
このファイルは、サーバーの最初の作成時に、構成ウィザードにより自動的に作成されます。Oracle CEPはこのファイルを使用してメッセージを暗号化します。

たとえば、ドメインのすべてのサーバーがd:\oracle_cep\user_projects\domains\mydomainディレクトリにあり、そのドメインにserver1、server2、およびserver3の3つのサーバーがあることを想定します。すべてのサーバーに同じ.aesinternal.datファイルがあることを確認するには、1つのファイルをserver1から他のサーバーにコピーします。

prompt> cd d:\oracle_cep\user_projects\domains\mydomain\server1
prompt> cp .aesinternal.dat ..\server2
prompt> cp .aesinternal.dat ..\server3

5. ドメイン内の1つのサーバーを起動します。

6.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。

ステップ3でencryption-service要素をsecurity-config.xmlファイルに追加しているため、Oracle CEPは自動的にメイン・サーバー・ディレクトリに.msasig.datファイルが作成されます。Oracle CEPはメッセージのデジタル署名のためにこのファイルを使用します。

6. 起動したサーバーを停止します。
6.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。

7. ステップ5で作成した.msasig.datファイルを他のサーバーにコピーします。
例:

prompt> cd d:\oracle_cep\user_projects\domains\mydomain\server1
prompt> cp .msasig.dat ..\server2
prompt> cp .msasig.dat ..\server3

8. クラスタの各サーバーで次のステップを実行します:

- コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項を参照してください。

- DOMAIN_DIR/servernameディレクトリに変更します。ここで、DOMAIN_DIRは、ドメイン・ディレクトリ、servernameは、d:\oracle_cep_home\user_projects\domains\mydomain\myserver1のようなサーバー名です。

prompt> cd d:\oracle_cep_home\user_projects\domains\mydomain\myserver1

- JDK keytoolユーティリティおよび次のコマンド・ラインを使用して、ブート・ユーザーを含むキーストアcoherence-identity.jksを作成します(読みやすくするために分割してありますが、実際には完全なコマンドは1行にする必要があります)。

prompt> keytool -genkey -v -keystore config/coherence-identity.jks
-storepass PASSWORD -alias BOOT-USER -keypass BOOT-USER-PASSWORD
-dname CN=BOOT-USER

説明:

- PASSWORDは、キーストアを保護するために使用するパスワードです。

- BOOT-USERは、Oracle CEPサーバー・ホストにログインするために使用するユーザー名です。

- BOOT-USER-PASSWORDは、Oracle CEPサーバー・ホストにログインするときに使用するパスワードです。

- permissions.xmlファイルを作成します。

- ブート・ユーザーに対して次の権限を追加するために、permissions.xmlファイルを編集します。

<permissions>
<grant>
<principal>
<class>javax.security.auth.x500.X500Principal</class>
<name>CN=BOOT-USER</name>
</principal>

<permission>
<target>*</target>
<action>all</action>
</permission>
</grant>
</permissions>

ここで、BOOT-USERは、Oracle CEPサーバー・ホストにログインするために使用するユーザー名です。

- permissions.xmlファイルを保存して閉じます。

- login.configファイルを作成します。

- 次の行を追加するために、login.configファイルを編集します。

Coherence {
com.tangosol.security.KeystoreLogin required
keyStorePath=".${/}config${/}coherence-identity.jks";
};

- login.configファイルを保存して閉じます。

- サーバーを実際に起動するjavaコマンドに次のプロパティを追加し、startwlevs.cmd(Windows)またはstartwlevs.sh(UNIX)の使用しているプラットフォーム向けのサーバーの起動スクリプトを更新します。

-Djava.security.auth.login.config=./login.config

次のような例があります(実際には、完全なコマンドは1行にする必要があります)。

"%JAVA_HOME%\bin\java" %DGC% %DEBUG%
-Djava.security.auth.login.config=./login.config
-Dwlevs.home="%USER_INSTALL_DIR%" -Dbea.hoe="%BEA_HOME%"
-jar "%USER_INSTALL_DIR%\bin\wlevs.jar" %1 %2 %3 %4 %5 %6

9. このドメインのサーバーでOracle CEP Visualizerを使用する場合は、10.5.3項「Oracle CEP Visualizerのマルチサーバー・ドメインでのSSLの構成方法」を参照してください。

10. マルチサーバー・ドメインのすべてのサーバーを起動します。
6.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。

6.4 マルチサーバー・ドメインAPIを使用したグループ・メンバーシップの変更管理

アクティブ/アクティブ・システムでは、アプリケーションは複数のサーバーに均一にデプロイされ、アクティブに実行されます。

しかし、均一にデプロイされたこれらのアプリケーションからコーディネータ(リーダー)となるプライマリ・アプリケーションを選択する必要が生じる場合があります。この場合、コーディネータ・アプリケーションから発生したイベントは保持され、EPNの次のコンポーネントに渡されます。セカンダリ・サーバーの結果は削除されます。ただし、コーディネータにエラーが発生した場合は、いずれかのセカンダリ・サーバーが新しいコーディネータとして選択される必要があります。

アプリケーションでこれを有効化するには、一般的にイベント・シンクのロールに属するアダプタまたはイベントBeanが、com.bea.wlevs.ede.api.cluster.GroupMembershipListenerインタフェースを実装する必要があります。それにより、マルチサーバー・ドメイン・グループのメンバーシップの変更をイベント・シンクがリスニングできるようになります。実行時には、メンバーシップに変更が発生するたびに、Oracle CEPがonMembershipChangeコールバック・メソッドを自動的に呼び出します。

コールバック・メソッドのシグネチャは次のとおりです。

onMembershipChange(Server localIdentity, Configuration groupConfiguration);

onMembershipChangeコールバック・メソッドの実装では、イベント・シンクがServerオブジェクト(localIdentity)を使用してリーダーかどうかを検証します。この検証は、localIdentityと、第2パラメータgroupConfigurationでのConfiguration.getCoordinator()の実行結果を比較して行うことができます。また、このパラメータを使用すると、Configuration.getMembers()を実行して、現在のグループのメンバーをサーバーに知らせることもできます。

注意:

通知グループに新しいAPIがあります。詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のデプロイメント・グループと通知グループに関する項を参照してください。

メンバーがコーディネータである場合にのみイベントを保持するために、イベント・シンクはグループのメンバーシップに変更があるたびに新しいServerIDを取得する必要があります。グループ・メンバーシップに変更が発生するのは、たとえば、グループ内の他のサーバーでエラーが発生し、そのサーバーがコーディネータではなくなった場合です。

グループに対する変更だけでなくドメイン全体に対するメンバーシップの変更をリスニングするための、同様のインタフェースcom.bea.wlevs.ede.api.cluster.DomainMembershipListenerがあります。

ホット-ホット構成には、失敗の通知にゼロ以外の遅延がある点に注意してください。クラスタリングの実装に通知APIを使用する場合、サーバー障害とマスター・サーバーに配信される通知の間のウィンドウで発生するイベントを失って、処理できません。

詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing Java APIリファレンス』を参照してください。

6.5 マルチサーバー・ドメインのOracle CEPサーバーの起動と停止

マルチサーバー・ドメインのサーバーを起動するには、起動スクリプトを実行して各サーバーを個別に起動します。これは、スタンドアロン・サーバー・ドメインのサーバーを起動する方法と同じです。詳細は、3.3項「スタンドアロンサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。

マルチ・サーバー・ドメインのカスタム・グループを構成しなかった場合、単純にすべてのサーバーは事前定義されたドメイン・グループ(マルチ・サーバー・ドメイン内のすべてのサーバーが含まれる)とシングルトン・グループ(メンバーのサーバーごとに1つ)のメンバーになります。つまり、マルチ・サーバー・ドメインに3つのサーバーが存在する例では、シングルトン・グループも3つになります。

これに対し、マルチサーバー・ドメインにカスタム・グループを構成した場合、サーバーは事前定義されたグループのメンバーであると同時に、構成されたグループのメンバーにもなります。

注意:

Windowsの場合、起動したコマンド・プロンプトの「閉じる」ボタンをクリックしてOracle CEPサーバーを停止しないでください。stopwlevs.cmdスクリプトまたはCtrl-Cを使用すると、Oracle CEPサーバーはいつでも停止します。

7 Oracle CEPネイティブ・クラスタリングを使用したマルチサーバー・ドメインの管理

この章は、Oracle CEPネイティブ・クラスタリングに基づくOracle Complex Event Processing (Oracle CEP)マルチサーバー・ドメインの管理方法を説明します。これらのドメインの作成と更新、その中でのメッセージの保護、グループ・メンバーの管理、サーバーの起動および停止方法を説明します。

- 7.1項「Oracle CEPネイティブ・クラスタリングを使用したOracle CEPマルチサーバー・ドメインの作成」

- 7.2項「Oracle CEPネイティブ・クラスタリングを使用したOracle CEPマルチサーバー・ドメインの更新」

- 7.3項「マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護」

- 7.4項「マルチサーバー・ドメインAPIを使用したグループ・メンバーシップの変更管理」

- 7.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」

7.1 Oracle CEPネイティブ・クラスタリングを使用したOracle CEPマルチサーバー・ドメインの作成

この項では、Oracle CEPネイティブ・クラスタリングを使用して2つ以上のOracle CEPサーバーからマルチサーバー・ドメインを作成して構成する方法について説明します。この項には、次の項目が含まれます。

- 7.1.1項「Oracle CEPネイティブ・クラスタリングを使用したデフォルト・グループによるOracle CEPマルチサーバー・ドメインの作成方法」

- 7.1.2項「Oracle CEPネイティブ・クラスタリングを使用したカスタム・グループによるOracle CEPマルチサーバー・ドメインの作成方法」

注意:

マルチサーバー・ドメインでサーバーを適切に構成するには、そのサーバーは、同じマルチキャスト・アドレスとポート、および同じドメイン名を使用して構成する必要があります。同じマルチキャスト・アドレスおよびポートを使用し、異なるドメイン名を使用してサーバーを構成するとエラーになります。

7.1.1 Oracle CEPネイティブ・クラスタリングを使用したデフォルト・グループによるOracle CEPマルチサーバー・ドメインの作成方法

この手順では、事前定義済の2つのグループ(シングルトン・グループとドメイン・グループ)のみを使用してマルチサーバー・ドメインを作成する方法について説明します。デフォルト・グループを使用するドメインでは、すべてのサーバーが完全に同一である必要があります。

ドメインが完全に同一ではないサーバーをサポートする必要がある場合、カスタム・グループを使用して構成します。7.1.2項「Oracle CEPネイティブ・クラスタリングを使用したカスタム・グループによるOracle CEPマルチサーバー・ドメインの作成方法」を参照してください。

デフォルト・グループとカスタム・グループの詳細は、5.2項「グループ」を参照してください。

注意:

この項では、1つのサーバーを含むドメインがすでに作成済であり、ドメインをマルチサーバー・ドメインにするには追加のサーバーをドメインに追加することを前提としています。ドメインの作成の詳細は、第3章「Oracle CEPスタンドアロンサーバー・ドメインの管理」を参照してください。

Oracle CEPネイティブ・クラスタリングを使用してデフォルト・グループによるOracle CEPマルチサーバー・ドメインを作成するには:

1. 1つの初期サーバーを含むドメインを作成します。
第3章「Oracle CEPスタンドアロンサーバー・ドメインの管理」を参照してください。

2. 構成ウィザードを使用して、ドメインに1つまたは複数のサーバーを追加します。

注意:

構成ウィザードではマルチサーバー・ドメインへの新規サーバーの追加はサポートされていませんが、構成ウィザードを使用して新しいスタンドアロンサーバーを生成し、生成したサーバーの構成を手動で更新することにより、サーバーをマルチサーバー・ドメインに追加できます。

7.2項「Oracle CEPネイティブ・クラスタリングを使用したOracle CEPマルチサーバー・ドメインの更新」を参照してください。

3. 手動でconfig.xmlファイルを編集し、特定の情報とともにcluster要素を追加して、マルチサーバー・ドメイン内のすべてのサーバーを構成します。
デフォルト・グループを使用してマルチサーバー・ドメインのサーバーを構成するには、各メンバー・サーバーのconfig.xmlファイルを更新し、例7-1に示すように、ルートconfig要素のcluster子要素を追加します。

clusterの次の子要素を含みます。

- server-name: clusterのserver-name子要素は、サーバーの一意の名前を指定します。コンソールにサーバーを表示する場合、Oracle CEP Visualizerはこの要素の値を使用します。要素が設定されていない場合、デフォルト値はServer-identityです。ここで、identityはidentity要素の値です。

- server-host-name: ポイント・ツー・ポイントHTTPマルチサーバー通信に使用するホスト・アドレス/IPを指定します。デフォルト値はlocalhostです。
マルチサーバー・ドメイン内の1つ以上のOracle CEPサーバーが異なるホストにあり、Oracle CEP Visualizerを使用してマルチサーバー・ドメインを管理する場合は、この要素が必須です。サーバーが複数のIPアドレスが構成されたホスト・マシンにデプロイされている場合も、これは必須です(マルチサーバーかスタンドアロンサーバー環境のいずれでも)。

- multicast-address: マルチサーバー・ドメインのすべてのサーバーが同じコンピュータ上でホストされている場合を除いて、multicast-address要素は必要です。その場合は、multicast-address要素を省略でき、コンピュータのIPアドレスに基づいてOracle CEPによりマルチサーバー・ドメインにマルチキャスト・アドレスが自動的に割り当てられます。
ただし、サーバーが異なるコンピュータ上でホストされる場合、適切なドメイン・ローカル・アドレスを提供する必要があります。Oracleは、239.255.X.X形式のアドレスを使用することをお薦めします。自動で割り当てられたマルチキャスト・アドレスは、このアドレスに基づきます。

このmulticast-addressを使用しているすべてのOracle CEPサーバーは、同一のサブネット上にある必要があります。

- identity: identity要素は、サーバーのIDを識別します。そのIDは1とINT_MAX間の整数である必要があります。Oracle CEPは、マルチサーバー操作中にサーバー・アイデンティティを数値的に比較し、最小のアイデンティティを持つサーバーがドメイン・コーディネータになります。マルチサーバー・ドメイン内の各サーバーは、必ず異なるアイデンティティを持つようにしてください。サーバーが同一のアイデンティティを持つ場合、マルチサーバー操作の結果は予測できなくなります。

- enabled: デフォルトでは、マルチサーバー・ドメインにあるサーバーのクラスタリングは、Oracle Coherenceに対して有効になっています。Oracle CEPネイティブ・クラスタリングを有効にするには、<enabled>evs4j</enabled>を使用します。

注意:

cluster要素の子要素を追加する場合は、5.5項「cluster要素の子要素の順序」に示すように要素の正しい順序を監視します。

例7-1 myServer1 config.xmlファイル

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer1</server-name>
<multicast-address>239.255.0.1</multicast-address>
<identity>1</identity>
<enabled>evs4j</enabled>
</cluster>
...
</config>

例7-2では、サーバーはmyDomainというドメインの一部です。

マルチサーバー・ドメインの各サーバーに対して、multicast-address要素には同じ値が含まれている必要があります。ただし、identityとserver-name要素は、マルチサーバー・ドメインの各サーバーで異なる必要があります。

例7-2には、myDomainマルチサーバー・ドメインのmyServer2という2番目のサーバーのconfig.xmlファイルを示します。このサーバーのIDは2である点に注意してください。

例7-2 myServer2 config.xmlファイル

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer2</server-name>
<multicast-address>239.255.0.1</multicast-address>
<identity>2</identity>
<enabled>evs4j</enabled>
</cluster>
...
</config>

追加のマルチサーバーの関連する構成要素と子要素の必要な順序の説明は、5.5項「cluster要素の子要素の順序」を参照してください。

4. オプションで、暗号化とデジタル署名を構成して、ドメイン内のサーバー間で共有されるメッセージを保護します。
7.3.1項「Oracle CEPネイティブ・クラスタリングを使用したマルチサーバー・ドメインのサーバー間で送信されるメッセージの保護方法」を参照してください。

5. 単一点障害を防ぐために、ドメインにあるnマシンの小さいサブセットでOracle CEP Visualizerを有効にすることを考慮します。
『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のマルチサーバー・ドメインでOracle CEP Visualizerを起動する方法に関する項を参照してください。

注意:

特定のOracle CEPサーバーでOracle CEP Visualizerを有効にすると、Oracle CEP Visualizerのワークロードによってサーバーのパフォーマンスが低下される可能性があります。

6. マルチサーバー・ドメインのすべてのサーバーを起動します。
7.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。

7.1.2 Oracle CEPネイティブ・クラスタリングを使用したカスタム・グループによるOracle CEPマルチサーバー・ドメインの作成方法

この手順では、完全に同一ではないサーバーを格納するためにカスタム・グループを使用するマルチサーバー・ドメインの作成方法について説明します。

ドメインにあるすべてのサーバーが完全に同一である場合、カスタム・グループを作成する必要はありません。かわりに、事前定義済のシングルトン・グループとドメイン・グループを使用できます。7.1.1項「Oracle CEPネイティブ・クラスタリングを使用したデフォルト・グループによるOracle CEPマルチサーバー・ドメインの作成方法」を参照してください。

デフォルト・グループとカスタム・グループの詳細は、5.2項「グループ」を参照してください。

注意:

この項では、1つのサーバーを含むドメインがすでに作成済であり、ドメインをマルチサーバー・ドメインにするには追加のサーバーをドメインに追加することを前提としています。ドメインの作成の詳細は、第3章「Oracle CEPスタンドアロンサーバー・ドメインの管理」を参照してください。

この手順では、myServer1、myServer2、およびmyServer3と3つのサーバーを作成していることを想定します。myServer1は、selectorグループのメンバーであり、myServer2とmyServer3は、strategyグループのメンバーであるとしています。

Oracle CEPネイティブ・クラスタリングを使用してカスタム・グループによるOracle CEPマルチサーバー・ドメインを作成するには:

1. 1つの初期サーバーを含むドメインを作成します。
第3章「Oracle CEPスタンドアロンサーバー・ドメインの管理」を参照してください。

2. 構成ウィザードを使用して、ドメインに1つまたは複数のサーバーを追加します。

注意:

構成ウィザードではマルチサーバー・ドメインへの新規サーバーの追加はサポートされていませんが、構成ウィザードを使用して新しいスタンドアロンサーバーを生成し、生成したサーバーの構成を手動で更新することにより、サーバーをマルチサーバー・ドメインに追加できます。

7.2項「Oracle CEPネイティブ・クラスタリングを使用したOracle CEPマルチサーバー・ドメインの更新」を参照してください。

3. 手動でconfig.xmlファイルを編集し、特定の情報とともにcluster要素を追加して、マルチサーバー・ドメイン内のすべてのサーバーを構成します。
カスタム・グループを使用してマルチサーバー・ドメイン内のサーバーを構成するには、ファイルがすでに存在していない場合はclusterのgroups子要素を追加して各メンバー・サーバーのconfig.xmlファイルを更新し、groups要素の値としてグループの名前を指定します。

注意:

cluster要素の子要素を追加する場合は、5.5項「cluster要素の子要素の順序」に示すように要素の正しい順序を監視します。

サーバーが複数のグループのメンバーである場合、groups要素には複数のグループ名が含まれます。カンマを使用して複数のグループ名を区切ります。

groups要素はオプションです。サーバー構成にこの要素がない場合、サーバーはデフォルト・グループ(ドメインおよびシングルトン)のメンバーになります。ドメインとシングルトン・グループの詳細は、5.2項「グループ」を参照してください。

例7-3、例7-4および例7-5には、各サーバーのconfig.xmlファイルの関連するスニペットを示します。

例7-3 myServer1のサーバー構成ファイルconfig.xml

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer1</server-name>
<multicast-address>239.255.0.1</multicast-address>
<identity>1</identity>
<enabled>evs4j</enabled>
<groups>selector</groups>
</cluster>
...
</config>

例7-4 myServer2のサーバー構成ファイルconfig.xml

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer2</server-name>
<multicast-address>239.255.0.1</multicast-address>
<identity>2</identity>
<enabled>evs4j</enabled>
<groups>strategy</groups>
</cluster>
...
</config>

例7-5 myServer3のサーバー構成ファイルconfig.xml

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer3</server-name>
<multicast-address>239.255.0.1</multicast-address>
<identity>3</identity>
<enabled>evs4j</enabled>
<groups>strategy</groups>
</cluster>
...
</config>

4. オプションで、暗号化とデジタル署名を構成して、ドメイン内のサーバー間で共有されるメッセージを保護します。
7.3.1項「Oracle CEPネイティブ・クラスタリングを使用したマルチサーバー・ドメインのサーバー間で送信されるメッセージの保護方法」を参照してください。

5. 単一点障害を防ぐために、ドメインにあるnマシンの小さいサブセットでOracle CEP Visualizerを有効にすることを考慮します。
『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のマルチサーバー・ドメインでOracle CEP Visualizerを起動する方法に関する項を参照してください。

注意:

特定のOracle CEPサーバーでOracle CEP Visualizerを有効にすると、Oracle CEP Visualizerのワークロードによってサーバーのパフォーマンスが低下される可能性があります。

6. マルチサーバー・ドメインのすべてのサーバーを起動します。
7.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。

7.2 Oracle CEPネイティブ・クラスタリングを使用したOracle CEPマルチサーバー・ドメインの更新

ドメインを後でマルチサーバー・ドメインに変換できるように、構成ウィザードを使用して新しいサーバーを既存のスタンドアロン・サーバー・ドメインに追加します。手順は新しいドメインを作成する場合と同じです。この項を続行する前に3.1項「Oracle CEPスタンドアロンサーバー・ドメインの作成」を必ず参照してください。

7.2.1 グラフィカル・モードでの構成ウィザードを使用したOracle CEPマルチサーバー・ドメインの更新方法

次の手順では、WindowsまたはUnixの両方の関連するコマンド・スクリプトを実行し、グラフィカル・モードで構成ウィザードの起動と使用方法について説明します。

注意:

Windowsでは、「スタート」メニューを使用して構成ウィザードを起動できます。

Start > All Programs > Oracle Complex Event Processing 10gR3 > Tools > Configuration Wizard

わかりやすくするために、以下を前提とします。

- 新しいドメインをすでに作成済であり、ドメイン・ディレクトリはC:\oracle_cep\user_projects\domains\mydomainです。

- ドメインには、myServer1という単一のサーバーが含まれ、サーバー・ファイルはC:\oracle_cep\user_projects\domains\myDomain\myServer1ディレクトリにあります。

- 既存のmydomainドメインにmyServer2という新しいサーバーを作成します。

グラフィカル・モードで構成ウィザードを使用してOracle CEPマルチサーバー・ドメインを更新するには:

1. コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項を参照してください。

2. ORACLE_CEP_HOME/ocep_11.1/common/binディレクトリに変更します。ここで、ORACLE_CEP_HOMEは、/oracle_cepのようなメインOracle CEPインストール・ディレクトリを示します。

prompt> cd /oracle_cep/ocep_11.1/common/bin

3. ウィザードを起動するには、config.cmd(Windows)またはconfig.sh(UNIX)コマンドを起動します。

prompt> config.sh

構成ウィザードのロードが終了すると、標準のOracleへようこそウィンドウが表示されます。

注意:

Oracle CEP構成ウィザードはわかりやすいプログラムですが、ツールの使用方法について詳細情報が必要な場合は、以下の手順説明に従ってください。

4. 「次へ」をクリックします。

5. 「ドメインの作成または更新の選択」ウィンドウで、「新規Oracle CEPドメインの作成」を選択します。

6. 「次へ」をクリックします。

7. ドメインに追加する新しいサーバーの管理者ユーザー名とパスワードを入力します。

8. 「次へ」をクリックします。

9. ドメインの新しいサーバーに関する基本構成情報を入力します。

注意:

新しいサーバーがドメイン内の他のサーバーと同じコンピュータ上に配置される場合、すべてのサーバーを起動したときに競合が発生しないように、以下の情報が他のサーバーと重複しないようにする必要があります。

具体的には:

- 新しいサーバー名を入力します。
この名前は、新しいサーバーのファイルを格納するディレクトリ名としても使用されます。次の例では、この値はmyServer2です。

- Oracle CEPサーバーのリスニング・ポート。

10. 「次へ」をクリックします。

11. Oracle CEP IDキーストアのパスワードを入力して確認します。
デフォルトでは、証明書のプライベート・キーのパスワードはアイデンティティ・キーストアと同じです。別のパスワードを使用する場合は、キーストア・パスワードを使用の選択を解除し、プライベート・キーのパスワードを入力します。

12. 「次へ」をクリックします。

13. 「構成オプション」ウィンドウで、次のように設定をします。

1. デフォルトのJDBCデータ・ソース構成を変更する場合は、「はい」を選択します。

2. デフォルトの構成を使用する場合は、「いいえ」を選択します。

注意:

アプリケーションをドメイン内のグループにデプロイすると、Oracle CEPはグループのメンバーである各サーバーにアプリケーションをレプリケートします。つまり、アプリケーションでデータソースを使用し、ドメイン内のサーバーごとにデータソースの構成が異なる場合は、このデータ・ソースでのデータの格納および取得は、アプリケーションを実行しているサーバーによって異なります。

14. 「次へ」をクリックします。

15. デフォルトのJDBCデータ・ソース構成を変更することを選択した場合は、「Configure Database Properties」ウィンドウに情報を入力します。
上のセクションで、データソース名を入力します。次に、データベース・タイプ(OracleまたはMicrosoft SQL Server)と該当のドライバを選択します。「Browse/Append」ボタンを使用して、新しいドライバを参照することもできます。

下のセクションで、データベース名、データベース・サーバーをホストするコンピュータ名、ポート、およびデータベースに接続するユーザーの名前とパスワードなど、このデータ・ソースから接続するデータベースの詳細を入力します。この情報に基づいて、使用するJDBC接続URLが自動的に生成されます。

16. 「次へ」をクリックします。

17. 「サーバーの構成」ウィンドウで、既存のドメイン名とドメインの場所のフル・パス名を入力します。
次の例では、ドメイン名にmyDomain、ドメインの場所にC:\oracle_cep\user_projects\domainsを入力します。

18. 「作成」をクリックします。

19. 新しいサーバーが正常に作成されると、「Creating Domain」ウィンドウに以下のようなメッセージが表示されます。

Domain created successfully!
Domain location: C:\oracle_cep\user_projects\domains\myDomain

20. 「完了」をクリックします。

7.3 マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護

マルチサーバーに関係するメッセージを変換することで、マルチサーバー・ドメインのサーバーはその状態を更新します。それらのメッセージは少なくとも整合性のチェックをすることが重要です。整合性を実現するために秘密鍵を使用できます。この鍵はドメインのすべてのサーバーで共有される必要があります。

この項では次の内容について説明します。

- 7.3.1項「Oracle CEPネイティブ・クラスタリングを使用したマルチサーバー・ドメインのサーバー間で送信されるメッセージの保護方法」

7.3.1 Oracle CEPネイティブ・クラスタリングを使用したマルチサーバー・ドメインのサーバー間で送信されるメッセージの保護方法

Oracle CEPネイティブ・クラスタリングを使用して、マルチサーバー・ドメインのサーバー間で送信されるメッセージを保護できます。

Oracle CEPネイティブ・クラスタリングを使用してマルチサーバー・ドメインのサーバー間で送信されるメッセージを保護するには:

1. サーバーが現在実行中の場合、マルチサーバー・ドメインのすべてのサーバーを停止します。
7.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。

2. 例7-6に示すようにsecurity子要素をcluster要素に追加し、マルチサーバー・ドメインの各サーバーのconfig.xmlファイルを編集します。

例7-6 cluster要素のsecurity子要素

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer1</server-name>
<multicast-address>239.255.0.1</multicast-address>
<identity>1</identity>
<enabled>coherence</enabled>
<security>encrypt</security>
</cluster>
...
</config>

config.xmlファイルは、各サーバーのDOMAIN_DIR/servername/configディレクトリにあります。ここで、DOMAIN_DIRは、ドメイン・ディレクトリを参照し、servernameは、d:\oracle_cep_home\user_projects\domains\mydomain\myserver1\configのようなサーバーの名前を参照します。

security子要素に対して次のいずれかの値を指定する必要があります。

- none: デフォルト値。マルチサーバー・ドメインに対してセキュリティが構成されていないことを指定します。

- encrypt: マルチサーバー・メッセージを暗号化する必要があることを指定します。

cluster要素の子要素の正しい順序に従います。5.5項「cluster要素の子要素の順序」を参照してください。

3. 例7-7に示すようにconfigルート要素のencryption-service子要素を追加し、マルチサーバー・ドメインの各サーバーのDOMAIN_DIR/servername/config/security-config.xmlファイルを編集します。

例7-7 security-config.xmlファイルのencryption-service要素

<config>
<encryption-service>
<signature-enabled>true</signature-enabled>
</encryption-service>
<css-realm>
...
</config>

4. マルチサーバー・ドメインの各サーバーのDOMAIN_DIR/servername/.aesinternal.datファイルは、1つのサーバーから他のサーバーにコピーすることによって、まったく同じであることを確認します。
このファイルは、サーバーの最初の作成時に、構成ウィザードにより自動的に作成されます。Oracle CEPはこのファイルを使用してメッセージを暗号化します。

たとえば、ドメインのすべてのサーバーがd:\oracle_cep\user_projects\domains\mydomainディレクトリにあり、そのドメインにserver1、server2、およびserver3の3つのサーバーがあることを想定します。すべてのサーバーに同じ.aesinternal.datファイルがあることを確認するには、1つのファイルをserver1から他のサーバーにコピーします。

prompt> cd d:\oracle_cep\user_projects\domains\mydomain\server1
prompt> cp .aesinternal.dat ..\server2
prompt> cp .aesinternal.dat ..\server3

5. ドメイン内の1つのサーバーを起動します。

7.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。

ステップ3でencryption-service要素をsecurity-config.xmlファイルに追加しているため、Oracle CEPは自動的にメイン・サーバー・ディレクトリに.msasig.datファイルが作成されます。Oracle CEPはメッセージのデジタル署名のためにこのファイルを使用します。

6. 起動したサーバーを停止します。
7.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。

7. ステップ5で作成した.msasig.datファイルを他のサーバーにコピーします。
例:

prompt> cd d:\oracle_cep\user_projects\domains\mydomain\server1
prompt> cp .msasig.dat ..\server2
prompt> cp .msasig.dat ..\server3

8. このドメインのサーバーでOracle CEP Visualizerを使用する場合は、10.5.3項「Oracle CEP Visualizerのマルチサーバー・ドメインでのSSLの構成方法」を参照してください。

9. マルチサーバー・ドメインのすべてのサーバーを起動します。
7.5項「マルチサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。

7.4 マルチサーバー・ドメインAPIを使用したグループ・メンバーシップの変更管理

アクティブ/アクティブ・システムでは、アプリケーションは複数のサーバーに均一にデプロイされ、アクティブに実行されます。

しかし、均一にデプロイされたこれらのアプリケーションからコーディネータ(リーダー)となるプライマリ・アプリケーションを選択する必要が生じる場合があります。この場合、コーディネータ・アプリケーションから発生したイベントは保持され、EPNの次のコンポーネントに渡されます。セカンダリ・サーバーの結果は削除されます。ただし、コーディネータにエラーが発生した場合は、いずれかのセカンダリ・サーバーが新しいコーディネータとして選択される必要があります。

アプリケーションでこれを有効化するには、一般的にイベント・シンクのロールに属するアダプタまたはイベントBeanが、com.bea.wlevs.ede.api.cluster.GroupMembershipListenerインタフェースを実装する必要があります。それにより、マルチサーバー・ドメイン・グループのメンバーシップの変更をイベント・シンクがリスニングできるようになります。実行時には、メンバーシップに変更が発生するたびに、Oracle CEPがonMembershipChangeコールバック・メソッドを自動的に呼び出します。

コールバック・メソッドのシグネチャは次のとおりです。

onMembershipChange(Server localIdentity, Configuration groupConfiguration);

onMembershipChangeコールバック・メソッドの実装では、イベント・シンクがServerオブジェクト(localIdentity)を使用してリーダーかどうかを検証します。この検証は、localIdentityと、第2パラメータgroupConfigurationでのConfiguration.getCoordinator()の実行結果を比較して行うことができます。また、このパラメータを使用すると、Configuration.getMembers()を実行して、現在のグループのメンバーをサーバーに知らせることもできます。

メンバーがコーディネータである場合にのみイベントを保持するために、イベント・シンクはグループのメンバーシップに変更があるたびに新しいServerIDを取得する必要があります。グループ・メンバーシップに変更が発生するのは、たとえば、グループ内の他のサーバーでエラーが発生し、そのサーバーがコーディネータではなくなった場合です。

グループに対する変更だけでなくドメイン全体に対するメンバーシップの変更をリスニングするための、同様のインタフェースcom.bea.wlevs.ede.api.cluster.DomainMembershipListenerがあります。

ホット-ホット構成には、失敗の通知にゼロ以外の遅延がある点に注意してください。クラスタリングの実装に通知APIを使用する場合、サーバー障害とマスター・サーバーに配信される通知の間のウィンドウで発生するイベントを失って、処理できません。

詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing Java APIリファレンス』を参照してください。

7.5 マルチサーバー・ドメインのOracle CEPサーバーの起動と停止

マルチサーバー・ドメインのサーバーを起動するには、起動スクリプトを実行して各サーバーを個別に起動します。これは、スタンドアロン・サーバー・ドメインのサーバーを起動する方法と同じです。詳細は、3.3項「スタンドアロンサーバー・ドメインのOracle CEPサーバーの起動と停止」を参照してください。

マルチ・サーバー・ドメインのカスタム・グループを構成しなかった場合、単純にすべてのサーバーは事前定義されたドメイン・グループ(マルチ・サーバー・ドメイン内のすべてのサーバーが含まれる)とシングルトン・グループ(メンバーのサーバーごとに1つ)のメンバーになります。つまり、マルチ・サーバー・ドメインに3つのサーバーが存在する例では、シングルトン・グループも3つになります。

これに対し、マルチサーバー・ドメインにカスタム・グループを構成した場合、サーバーは事前定義されたグループのメンバーであると同時に、構成されたグループのメンバーにもなります。

8 マルチサーバー・ドメインへのアプリケーションのデプロイ

この章は、Oracle CEP Visualizerまたはデプロイヤ・ユーティリティを使用して、アプリケーションをOracle Complex Event Processing (Oracle CEP)マルチサーバー・ドメインにデプロイする方法を説明します。

- 8.1項「Oracle CEPマルチサーバー・ドメインへのアプリケーションのデプロイの概要」

- 8.2項「Oracle CEP Visualizerを使用したOracle CEPサーバーへのデプロイ」

- 8.3項「デプロイヤ・ユーティリティを使用したOracle CEPサーバー・シングルトン・グループへのデプロイ」

- 8.4項「デプロイヤ・ユーティリティを使用したOracle CEPサーバー・ドメイン・グループへのデプロイ」

- 8.5項「デプロイヤ・ユーティリティを使用したOracle CEPサーバー・カスタム・グループへのデプロイ」

- 8.6項「マルチサーバー・ドメイン・デプロイメントのトラブルシューティング」

8.1 Oracle CEPマルチサーバー・ドメインへのアプリケーションのデプロイの概要

マルチサーバー・ドメインにアプリケーションをデプロイする場合、通常はユーザーがターゲット・グループを指定すると、Oracle CEPによって、そのグループで実行されている一連のサーバーにアプリケーションがデプロイされます。Oracle CEPは、実行中のサーバーに基づくグループ・メンバーシップを動的に維持します。つまり、グループ内で新しいサーバーが起動されると、Oracle CEPによって、新しいサーバーに対して適切なデプロイメント・セットが自動的に伝播されます。

例として、6.1項「Oracle Coherenceを使用したOracle CEPマルチサーバー・ドメインの作成」で構成した単純なマルチサーバー・ドメインについて説明します。myServer1のみが起動済であり、myServer1とmyServer2が属するドメイン・グループにアプリケーションがデプロイされると想定します。その場合、マルチサーバー・ドメインのmyServer1のみが起動済であるため、アプリケーションはmyServer1のみにデプロイされます。その後、myServer2が起動されると、Oracle CEPによってアプリケーションのデプロイメントが自動的にmyServer2にレプリケートされ、伝播されます。ユーザーが明示的にアプリケーションをデプロイする必要はありません。

デプロイメントの伝播は、アプリケーションのバージョンによって行われます。新しいバージョンのアプリケーションをデプロイする場合、それに応じて新しいバージョンがすべてのサーバーに伝播されます。

1つのアプリケーションについて、別のサーバーで異なる構成が必要な場合は、システム・プロパティを使用するのが現時点での最適な方法です。

この項では、次のタスクの実行方法について説明します。

- 8.2項「Oracle CEP Visualizerを使用したOracle CEPサーバーへのデプロイ」

- 8.3項「デプロイヤ・ユーティリティを使用したOracle CEPサーバー・シングルトン・グループへのデプロイ」

- 8.4項「デプロイヤ・ユーティリティを使用したOracle CEPサーバー・ドメイン・グループへのデプロイ」

- 8.5項「デプロイヤ・ユーティリティを使用したOracle CEPサーバー・カスタム・グループへのデプロイ」

- 8.6項「マルチサーバー・ドメイン・デプロイメントのトラブルシューティング」

詳細は、次を参照してください:

- 5.2項「グループ」

- 『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』

- 付録B「デプロイヤ・コマンドライン・リファレンス」

8.2 Oracle CEP Visualizerを使用したOracle CEPサーバーへのデプロイ

Oracle CEPアプリケーションをマルチサーバー・ドメインにデプロイする最も簡単な方法は、Oracle CEP Visualizerを使用することです。

詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のアプリケーションのデプロイに関する項を参照してください。

8.3 デプロイヤ・ユーティリティを使用したOracle CEPサーバー・シングルトン・グループへのデプロイ

アプリケーションをデプロイするときにグループを指定しないと、アプリケーションは、デプロイ先として指定したサーバーのみで構成されるシングルトン・サーバー・グループにデプロイされます。これは単一サーバー・ドメインの標準仕様ですが、マルチサーバー・ドメインにも当てはまります。

注意:

2.0ドメインをマルチ・サーバー・ドメインで実行できるようにアップグレードした場合、アプリケーションをデプロイすると、すべてのアプリケーションがシングルトン・サーバー・グループにデプロイされます。

次の例は、シングルトン・グループへのデプロイする方法を示しています。コマンドに-groupオプションを指定していない点に注意してください(実際には、完全なコマンドを1行で表示する必要があります)。

prompt> java -jar wlevsdeploy.jar -url http://ariel:9002/wlevsdeployer
-install myapp_1.0.jar

例では、myapp_1.0.jarアプリケーションは単一サーバーがあるシングルトン・サーバー・グループにデプロイされます。単一サーバーはarielホストで実行していて、9002ポートにリスニングしています。マルチサーバー・ドメインで他のサーバーがドメイン・グループのメンバーである場合、アプリケーションは他のサーバーにデプロイされません。

グループの詳細は、5.2項「グループ」を参照してください。

8.4 デプロイヤ・ユーティリティを使用したOracle CEPサーバー・ドメイン・グループへのデプロイ

ドメイン・グループは常に存在する有効化されたグループであり、ドメイン内のすべてのサーバーで構成されます。言い換えると、すべてのサーバーは常にドメイン・グループのメンバーです。ただし、ドメイン・グループに対してもアプリケーションを明示的にデプロイする必要があります。その主な理由は、使用方法のわかりやすさと一貫性を保つためです。

アプリケーションをドメイン・グループに明示的にデプロイすると、この均一な環境のすべてのサーバーにこのデプロイメントが確実に伝播されます。

ドメイン・グループにデプロイするには、-group allオプションを使用します。次の例は、ドメイン・グループへのデプロイ方法を示しています。

prompt> java -jar wlevsdeploy.jar -url http://ariel:9002/wlevsdeployer -install myapp_1.0.jar -group all

この例では、ポート9002をリスニングするホストariel上のドメイン・グループのすべてのサーバーにmyapp_1.0.jarアプリケーションがデプロイされます。

グループの詳細は、5.2項「グループ」を参照してください。

8.5 デプロイヤ・ユーティリティを使用したOracle CEPサーバー・カスタム・グループへのデプロイ

カスタム・グループにデプロイするには、デプロイ・コマンドの-group groupnameオプションを使用します。

次の例では、6.1.2項「Oracle Coherenceを使用したカスタム・グループによるOracle CEPマルチサーバー・ドメインの作成方法」の説明に従ってマルチサーバー・ドメインが構成されていると想定します。

次の例は、strategies_1.0.jarというアプリケーションをstrategygroupにデプロイする方法を示しています(実際には、完全なコマンドを1行で表示する必要があります)。

prompt> java -jar wlevsdeploy.jar -url http://ariel:9002/wlevsdeployer
-install strategies_1.0.jar -group strategygroup

このコマンドは、マルチサーバー・ドメインの構成に基づいて、strategygroupグループのメンバーであるmyServer2およびmyServer3にアプリケーションをデプロイします。

次の例は、selector_1.0.jarというアプリケーションをselectorgroupにデプロイする方法を示しています(実際には、完全なコマンドを1行で表示する必要があります)。

prompt> java -jar wlevsdeploy.jar -url http://ariel:9002/wlevsdeployer
-install selector_1.0.jar -group selectorgroup

このコマンドは、マルチサーバー・ドメインの構成に基づいて、selectorgroupグループの唯一のメンバーであるmyServer1のみにアプリケーションをデプロイします。

どちらのコマンドも同じサーバー(ポート9002にリスニングするホストarielのサーバー)に対して実行されている点に注意してください。ただし、指定するサーバーがアプリケーションのデプロイ先のグループに属していなくてもデプロイ・コマンドではドメイン内の任意のサーバーを指定できます。

グループの詳細は、5.2項「グループ」を参照してください。

8.6 マルチサーバー・ドメイン・デプロイメントのトラブルシューティング

この項では、Oracle CEPマルチサーバー・ドメインにアプリケーションをデプロイするときに発生する可能性がある一般的な問題について説明します。次のものが含まれます。

- 8.6.1項「デプロイメント後のOracle CEPサーバーによるアプリケーションの停止」

8.6.1 デプロイメント後のOracle CEPサーバーによるアプリケーションの停止

問題: Oracle CEPマルチサーバー・ドメインにアプリケーションをデプロイすると、約30秒後にOracle CEPによってアプリケーションが停止されます。

解決策: マルチサーバー・ドメインをホストしている同じコンピュータ上に複数のVPNソフトウェア・パッケージをインストールしていないことを確認してください。

第IV部

サービスの構成

第IV部には次の章が含まれます:

- 第9章「Oracle CEP用のネットワークI/Oの構成」

- 第10章「Oracle CEPのセキュリティの構成」

- 第11章「Oracle CEP用のJettyの構成」

- 第12章「Oracle CEPのJMXの構成」

- 第13章「Oracle CEP用のJDBCの構成」

- 第14章「Oracle CEPのHTTPパブリッシュ/サブスクライブの構成」

- 第15章「Oracle CEPのロギングとデバッグの構成」

9 Oracle CEP用のネットワークI/Oの構成

この章は、Oracle Complex Event Processing (Oracle CEP)でのネットワークI/Oの構成方法を、ネットワークI/Oサーバーまたはクライアントのいずれの構成方法も含めて説明します。

- 9.1項「Oracle CEPにおけるネットワークI/Oの概要」

- 9.2項「ネットワークI/Oサーバー(netio)の構成」

- 9.3項「ネットワークI/Oクライアント(netio-client)の構成」

9.1 Oracle CEPにおけるネットワークI/Oの概要

Oracle CEPは、サーバー・モードおよびクライアント・モードの両方で様々なプロバイダを使用して、Transmission Control Protocol/Internet Protocol (TCP/IP)を介してネットワーク入力/出力(I/O)をサポートします。

Secure Socket Layer (SSL)と非SSLネットワーク・アクセスの両方のネットワークI/Oを定義できます。

Oracle CEPは、IPv4とIPv6の両方をサポートします。

次のOracle CEPサービスは、次のネットワークI/O構成に依存します。

- jetty: ネットワークI/Oサーバー(netio)構成に依存します。

- weblogic-rmi-client: ネットワークI/Oクライアント(netio-client)構成に依存します。

詳細は、次を参照してください:

- 9.1.1項「ネットワークI/Oプロバイダ」

- 9.1.2項「IPv4およびIPv6のサポート」

- 9.2項「ネットワークI/Oサーバー(netio)の構成」

- 9.3項「ネットワークI/Oクライアント(netio-client)の構成」

- 第10章「Oracle CEPのセキュリティの構成」

- 第11章「Oracle CEP用のJettyの構成」

9.1.1 ネットワークI/Oプロバイダ

表9-1は、Oracle CEPがサポートするネットワークI/Oプロバイダのリストです。

表9-1 Oracle CEPネットワークI/Oプロバイダ

provider-type

SSL?

説明

non-blocking

いいえ

非プロック・プロバイダは、読取りおよび書き込みに対して完全な非ブロックI/Oを提供します。つまり、接続インタフェースでの読取りまたは書込みへの各呼び出しは、ブロックなしで即座に戻されます。基となる接続の準備ができていない場合、読取りまたは書込み呼び出しはゼロを戻すだけです。その時点で、呼び出しコードはNetIO APIのいずれかの通知メカニズムを使用して、接続の読取りまたは書込みの準備ができるまで待機する必要があります。非ブロック・プロバイダも非ブロックconnect呼び出しをサポートしますが、これはリモート・サーバーへの接続を確立する(または確立に失敗する)のに長い時間がかかった場合に、スレッドがブロックされる必要がないことを意味します。

プロバイダ・クラス: com.bea.core.netio.provider.noblock.NIOEngine

semi-blocking

いいえ

セミブロック・プロバイダは、読取りの呼出しに対しては非ブロックI/Oを提供しますが、各書込み呼出しはデータがTCP/IPスタックに渡されるまでにブロックされます。一部のプラットフォームは、完全な非ブロック・プロバイダに比べて高速な書込みブロック・プロバイダを実装できるようにするメカニズムを提供します。

プロバイダ・クラス:

- JRockitを搭載したLinux: com.bea.core.netio.provider.jrockit.JRockitEngine

- Windows: com.bea.core.netio.provider.nativeasync.NativeAsyncEngine

blocking

いいえ

ブロック・プロバイダは、それぞれの読取りおよび書込みの呼出しが完了するまでそれらをブロックします。読取り準備が可能なデータがない場合、読取りはデータが存在するまでブロックされます。このタイプのプロバイダは、データを持つ各ネットワーク接続を待機するスレッドが存在する必要があるため、拡張性が低くなっています。通常はこのタイプのプロバイダを使用しないことをお薦めします。

プロバイダ・クラス: com.bea.core.netio.provider.block.BlockingEngine.

native

いいえ

NativeAsyncEngineが試行されます。サポートされない場合、エラーが発生します。

NIO脚注 1

はい

NIOEngineが常に使用されます。

脚注 1 デフォルトprovider-type.

例9-1は、provider-type子要素を使用して、Oracle CEPサーバーのconfig.xmlファイルのnetio要素でプロバイダを指定する方法を示します。

例9-1 provider-typeが定義されたOracle CEP netio要素

<netio>
<name>myNetio</name>
<port>12345</port>
<provider-type>non-blocking</provider-type>
</netio>

9.1.2 IPv4およびIPv6のサポート

Oracle CEPサーバーは、IPv4 単独またはIPv4/IPv6デュアル・スタックで使用するための認証を受けています。

Oracle CEPはIPv6をサポートしていません。

IPv6の詳細は、RFC 2460: Internet Protocol, Version 6 (IPv6)の仕様(http://www.ietf.org/rfc/rfc2460.txt)を参照してください。

9.2 ネットワークI/Oサーバー(netio)の構成

サーバーとして機能し、受信接続をリスニングするために他のサービスによって使用されるネットワークI/Oサービスを定義できます。

あるいは、9.3項「ネットワークI/Oクライアント(netio-client)の構成」で説明されるように、クライアントのネットワークI/Oサービスを作成できます。

9.2.1 ネットワークI/Oサーバーを構成する方法

Oracle CEPサーバーのconfig.xmlファイルのnetio要素を使用して、ネットワークI/Oサーバー・サービスを構成します。

詳細は、次を参照してください:

- 1.3.1項「Oracle CEPサーバー構成ファイル」

- 9.1.1項「ネットワークI/Oプロバイダ」

- 『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のnetioに関する項

ネットワークI/Oサーバーを構成するには、次の手順を実行します。

1. Oracle CEPサーバーのconfig.xmlファイルで、例9-2で示すように、netio要素を作成します。

例9-2 Oracle CEP netio要素

<netio>
</netio>

2. 例9-3で示すように、このOracle CEPサーバーでこのnetio要素を一意で識別するname要素を追加します。

例9-3 name要素を持つOracle CEP netio要素

<netio>
<name>MyNetIO</name>
</netio>

3. port要素を追加し、例9-4で示すように、このnetioサービスが接続リクエストをリスニングする元となるTCP/IPポートを定義します。

例9-4 port要素を持つOracle CEP netio要素

<netio>
<name>MyNetIO</name>
<port>9002</port>
</netio>

4. オプションで、例9-5で示すように、provider-typeを指定します。

例9-5 port要素を持つOracle CEP netio要素

<netio>
<name>MyNetIO</name>
<port>9002</port>
<provider-type>NIO</provider-type>
</netio>

詳細は、9.1.1項「ネットワークI/Oプロバイダ」を参照してください。

5. オプションで、他のnetio子要素を指定します。
詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のnetioに関する項を参照してください。

9.3 ネットワークI/Oクライアント(netio-client)の構成

非ブロック・ネットワークI/Oの実行に使用できるネットワークI/Oサービスを定義できます。ただし、サーバーとしては機能せず、受信接続もリスニングしません。

あるいは、9.2項「ネットワークI/Oサーバー(netio)の構成」で説明されるように、サーバーのネットワークI/Oサービスを作成できます。

9.3.1 ネットワークI/Oクライアントを構成する方法

Oracle CEPサーバーのconfig.xmlファイルのnetio-client要素を使用して、ネットワークI/Oクライアント・サービスを構成します。

詳細は、次を参照してください:

- 1.3.1項「Oracle CEPサーバー構成ファイル」

- 9.1.1項「ネットワークI/Oプロバイダ」

- 『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のnetio-clientに関する項

ネットワークI/Oクライアントを構成するには、次の手順を実行します。

1. Oracle CEPサーバーのconfig.xmlファイルで、例9-2で示すように、netio-client要素を作成します。

例9-6 Oracle CEP netio-client要素

<netio-client>
</netio-client>

2. 例9-3で示すように、このOracle CEPサーバーでこのnetio要素を一意で識別するname要素を追加します。

例9-7 name要素を持つOracle CEP netio-client要素

<netio-client>
<name>MyNetIOClient</name>
</netio-client>

3. オプションで、例9-5で示すように、provider-typeを指定します。

例9-8 port要素を持つOracle CEP netio-client要素

<netio-client>
<name>MyNetIOClient</name>
<provider-type>NIO</provider-type>
</netio-client>

詳細は、9.1.1項「ネットワークI/Oプロバイダ」を参照してください。

4. オプションで、他のnetio-client子要素を指定します。
詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のnetio-clientに関する項を参照してください。

10 Oracle CEPのセキュリティの構成

この章は、Oracle Complex Event Processing (Oracle CEP)のセキュリティの構成方法を、セキュリティ・プロバイダの構成、SSLおよびFIPS、HTTPS専用接続の構成とセキュリティ監査を含めて説明します。

- 10.1項「Oracle CEPにおけるセキュリティの概要」

- 10.2項「Oracle CEPサーバーのJava SEセキュリティの構成」

- 10.3項「セキュリティ・プロバイダの構成」

- 10.4項「パスワード強度の構成」

- 10.5項「セキュア・ネットワーク・トラフィックへのSSLの構成」

- 10.6項「Oracle CEPサーバーのFIPSの構成」

- 10.7項「Oracle CEPサーバーのHTTPS専用接続の構成」

- 10.8項「Oracle CEPサーバー・サービスのセキュリティの構成」

- 10.9項「Oracle CEP Visualizerのクロスドメイン・セキュリティの構成」

- 10.10項「Oracle CEPのセキュリティ監査プログラムの構成」

- 10.11項「セキュリティの無効化」

10.1 Oracle CEPのセキュリティの概要

Oracle CEPには、データ・ストリームとイベント・ストリーム、構成、ユーザー名とパスワードのデータ、セキュリティ・ポリシー情報、リモート資格証明、ネットワーク・トラフィックなどのサーバー・リソースを保護する様々なメカニズムが用意されています。

Oracle CEPサーバーのセキュリティを構成するには、次の一般的なタスクを考慮してください。

1. Java SEのセキュリティを構成します。
10.1.1項「Java SEセキュリティ」を参照してください。

2. 認可および認証用のセキュリティ・プロバイダを構成します。
次を参照してください。

- 10.1.2項「セキュリティ・プロバイダ」

- 10.1.3項「ユーザー、グループおよびロール」

3. パスワードの強度を構成します。
10.4項「パスワード強度の構成」を参照してください。

4. SSLおよびFIPSを構成します。
次を参照してください。

- 10.1.4項「SSL」

- 10.1.5項「FIPS」

5. HTTPS専用接続を構成します。
10.7項「Oracle CEPサーバーのHTTPS専用接続の構成」を参照してください。

6. Oracle CEPサーバーの個々のサービスのセキュリティを構成します。
10.8項「Oracle CEPサーバー・サービスのセキュリティの構成」を参照してください。

詳細は、次を参照してください:

- 10.1.6項「セキュリティの有効化と無効化」

- 10.1.7項「セキュリティ・ユーティリティ」

- 10.1.8項「コマンドライン・ユーティリティ使用時のユーザー資格証明の指定」

- 10.1.9項「Oracle CEPの例およびドメインにおけるセキュリティ」

10.1.1 Java SEセキュリティ

Java SEのセキュリティ・ポリシーは、次のものに対して定義できます。

- Oracle CEPを構成するすべてのバンドル

- サーバーの起動

- Oracle CEPサーバーのJetty HTTPサーバーにデプロイされたWebアプリケーション

- Oracle CEP Visualizer

詳細は、次を参照してください:

- 10.2項「Oracle CEPサーバーのJava SEセキュリティの構成」

- http://java.sun.com/javase/technologies/security/

10.1.2 セキュリティ・プロバイダ

Oracle CEPは、認証、認可、ロール・マッピングおよび資格証明マッピング用の様々なセキュリティ・プロバイダをサポートしています。

Oracle CEPは以下のセキュリティ・プロバイダをサポートしています。

- ファイルベース: すぐに使用できるデフォルトのセキュリティ・プロバイダ。このタイプのプロバイダは、オペレーティング・システムのファイルを使用することで、ユーザー、パスワード、グループ情報などのセキュリティ・データにアクセスします。認証(ユーザーのアイデンティティを証明または検証するプロセス)および認可(ユーザーのセキュリティ・ロールとリクエストされたOracle CEPリソースに割り当てられたセキュリティ・ポリシーに基づいて、Oracle CEPリソースへのユーザーのアクセスを許可または拒否するプロセス)の両方を提供します。認証では通常、ユーザー名とパスワードの組合せが必要となります。

- LDAP - LDAP (Lightweight Data Access Protocol)サーバーを使用してユーザー、パスワード、およびグループ情報にアクセスするプロバイダ。認証のみを提供します。

- DBMS - データベース管理システム(DBMS)を使用してユーザー、パスワード、およびグループ情報にアクセスするプロバイダ。認証と認可の両方を提供します。

デフォルトのファイルベースのセキュリティ・プロバイダを使用することにした場合、ドメインの構成を追加で行う必要は一切ありません。必要な構成はすべて構成ウィザードによって実行されます。ただし、LDAPまたはDBMSプロバイダを使用する場合は、追加の構成を実行する必要があります。10.3項「セキュリティ・プロバイダの構成」を参照してください。

セキュリティ・プロバイダの構成が完了すると、Oracle CEP Visualizerを使用して、新しいユーザーを追加したり、それらのユーザーをグループに割り当てたり、グループをロールにマッピングしたりできるようになります。10.1.3項「ユーザー、グループおよびロール」を参照してください。

10.1.3 ユーザー、グループおよびロール

Oracle CEPは、ロールベースの認可制御を使用して、Oracle CEP Visualizerおよびwlevs.Adminコマンドライン・ユーティリティを保護します。すぐに使用できるデフォルトのセキュリティ・グループが各種存在しています。ユーザーを様々なグループに追加することにより、ユーザーへの様々なロールの割当ができます。

Oracle CEP Visualizer、wlevs.Admin、またはJMXを使用して、Oracle CEPインスタンスに接続する任意のカスタム管理アプリケーションを使用する管理者は、ロールベースの認可を使用してアクセス権限を取得します。

また、ロールベースの認可を使用して、HTTPパブリッシュ/サブスクライブ・サーバーへのアクセスを制御することもできます。

ロールには次の2種類が存在します。

- アプリケーション・ロール: アプリケーション・ロールは、Oracle CEPサーバーにデプロイ済の様々なOracle CQLアプリケーションにアクセスする権限をユーザーに付与します。アプリケーション・ロールを作成し、それらをOracle CEPが提供するタスク・ロールに関連付けることができます。
デフォルトでは、管理者ユーザーはすべてのアプリケーションにアクセスでき、非管理ユーザーはどのアプリケーションにもアクセスできません。ある非管理ユーザーがアプリケーションにアクセスできるようにするには、管理ユーザーが関連するアプリケーション・ロールをそのユーザーに付与する必要があります。

- タスク・ロール: タスク・ロールは、自身のアプリケーション・ロールによってアクセスが認可されたアプリケーションで様々なタスクを実行する権限を、ユーザーに付与します。Oracle CEPには、表10-1で説明するデフォルトのタスク・ロールが用意されています。

Oracle CEP Visualizer、またはwlevs.Adminの使用時に正常に認証されたユーザーにはそのグループ・メンバーシップに基づいてロールが割り当てられますが、その後の管理機能へのアクセスは、そのユーザーが保持するロールに従って制限されます。匿名ユーザー(認証されていないユーザー)は、Oracle CEP Visualizerやwlevs.Adminには一切アクセスできません。

管理者が構成ウィザードを使用して新しいドメインを作成する際には、wlevsAdministratorsグループの一部となる管理者ユーザーを入力します。デフォルトでは、この情報はファイルベースのプロバイダ・のファイルストア内に格納されます。パスワードは、SHA-256アルゴリズムを使用してハッシュされます。デフォルトの管理者ユーザーの名前はwlevs、パスワードはwlevsになります。

表10-1では、新しいドメインの作成直後に使用可能となるデフォルトのOracle CEPタスク・ロールと、それらのロールに割り当てられるグループの名前について説明します。

表10-1 デフォルトのOracle CEPタスク・ロールおよびグループ

タスク・ロール

グループ

権限

Admin

wlevsAdministrators

上記のロールが持つすべての権限に加えて、次の権限があります。

- ユーザーおよびグループの作成

- HTTPパブリッシュ/サブスクライブ・セキュリティの構成

- Jettyやワーク・マネージャなどのシステム構成の変更

ApplicationAdmin

wlevsApplicationAdmins

すべてのOperator権限に加えて、デプロイ済アプリケーションの構成を更新する権限があります。

BusinessUser

wlevsBusinessUsers

すべてのOperator権限に加えて、デプロイ済アプリケーションのプロセッサに関連付けられたOracle CQLおよびEPLルールを更新する権限も持ちます。

Deployer

wlevsDeployers

すべてのOperator権限に加えて、デプロイ済アプリケーションをデプロイ、アンデプロイ、更新、一時停止、および再開する権限があります。

Monitor

wlevsMonitors

すべてのOperator権限に加えて、診断プロファイルの作成やイベントの記録(および再生)などの診断機能を有効または無効にする権限があります。

Operator

wlevsOperators

すべてのサーバー・リソース、サービス、およびデプロイ済アプリケーションへの読取り専用アクセスがあります。

ドメインが作成されると、管理者はOracle CEP Visualizerを使用してグループを作成し、それを1つ以上のロールに関連付けることが可能です。各ロールによってアプリケーションへのアクセス権が付与されます。ユーザーをグループに割り当てるとき、グループに関連付けるロールによって、ユーザーにはアプリケーションへアクセスする権限が付与されます。

Oracle CEP Visualizerを使用してユーザー、グループおよびロールを変更する手順については、次を参照してください。

- 『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のユーザーの管理に関する項

- 『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のグループの管理に関する項

- 『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のロールの管理に関する項

詳細は、次を参照してください:

- 10.8.4項「HTTPパブリッシュ/サブスクライブ・サーバー・チャネル・セキュリティの構成」

- 10.1.8項「コマンドライン・ユーティリティ使用時のユーザー資格証明の指定」

- 第3章「Oracle CEPスタンドアロンサーバー・ドメインの管理」

- 第6章「Oracle Coherenceを使用したマルチサーバー・ドメインの管理」

- 第7章「Oracle CEPネイティブ・クラスタリングによるマルチサーバー・ドメインの管理」

10.1.4 SSL

Oracle CEPには一方向のSecure Sockets Layer (SSL)が用意されていますが、これは、Oracle CEP VisualizerおよびOracle CEPサーバー・インスタンス間、マルチサーバー・ドメインのOracle CEPサーバー・インスタンス間、およびwlevs.Adminコマンドライン・ユーティリティとOracle CEPサーバー・インスタンス間のネットワーク・トラフィックを保護するためのものです。

Federal Information Processing Standards (FIPS)の認定を受けた擬似乱数ジェネレータをSSLで使用するように、Oracle CEPを構成できます。

詳細は、次を参照してください:

- 10.5項「セキュア・ネットワーク・トラフィックへのSSLの構成」

- 10.1.5項「FIPS」

- 6.3項「マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護」

- Oracle Coherence: 7.3項「マルチサーバー・ドメインのサーバー間で送信されるメッセージの保講」

- Oracle CEPネイティブ・クラスタリング: A.4項「SSLモードによるwlevs.Adminユーティリティの実行」

10.1.5 FIPS

National Institute of Standards and Technology (NIST)は、連邦政府のコンピュータ・システムの標準を作成します。NISTはこれらの標準を、政府全体で使用できるようにFederal Information Processing Standards (FIPS)として発行します。

Oracle CEPは、com.rsa.jsafe.provider.JsafeJCEセキュリティ・プロバイダを使用してFIPSをサポートします。このプロバイダを使用すれば、FIPSの認定を受けた擬似乱数ジェネレータをSSLで使用するようにOracle CEPを構成できます。

詳細は、次を参照してください:

- 10.6項「Oracle CEPサーバーのFIPSの構成」

- 10.1.4項「SSL」

- http://www.itl.nist.gov/fipspubs/

10.1.6 セキュリティの有効化と無効化

SSLの構成後、HTTPSポート上でクライアント・リクエストのみを受信するようにOracle CEPサーバーを構成できます。10.7項「Oracle CEPサーバー用のHTTPS専用接続の構成」を参照してください。

オプションで、セキュリティを無効化できます。10.11項「セキュリティの無効化」を参照してください。

10.1.7 セキュリティ・ユーティリティ

Oracle CEPには、セキュリティ管理を単純化するためのコマンドライン・ユーティリティが各種用意されています。コマンドライン・ユーティリティに加え、Oracle CEP Visualizerを使用して多くのセキュリティ・タスクを実行できます。

詳細は、次を参照してください:

- 付録C「Securityユーティリティ・コマンドライン・リファレンス」

- 10.1.8項「コマンドライン・ユーティリティ使用時のユーザー資格証明の指定」

- 『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のセキュリティ・タスクに関する項

10.1.8 コマンドライン・ユーティリティ使用時のユーザー資格証明の指定

Oracle CEPでは様々なタスクを実行できるように、次のコマンドライン・ユーティリティが用意されています。

- wlevs.Admin: Oracle CEPを管理し、特にOracle CQLおよびEPLプロセッサのルールを動的に構成したり、アプリケーションのイベント待機時間やスループットを監視するためのコマンドライン・インタフェース。
詳細は、付録A「wlevs.Adminコマンドライン・リファレンス」を参照してください。

- Deployer: Oracle CEPアプリケーションをデプロイするためのコマンドラインベースの操作を管理者および開発者に対して提供する、Javaベースのデプロイメント・ユーティリティ。
詳細は、付録B「デプロイヤ・コマンドライン・リファレンス」を参照してください。

- cssconfig: パスワード・ポリシーを使用するセキュリティ構成ファイル(security.xml)を生成するためのコマンドライン・ユーティリティ。
詳細は、付録C「cssconfigコマンドライン・ユーティリティ」を参照してください。

- encryptMSAConfig: XMLファイル内のpassword要素に指定されたクリアテキスト・パスワードを暗号化するための暗号化コマンドライン・ユーティリティ。
詳細は、付録C「encryptMSAConfigコマンドライン・ユーティリティ」を参照してください。

各ユーティリティで、次の3つの方法を使用してユーザー資格証明(ユーザー名とパスワード)を指定できます。

- コマンドライン上で-userや-passwordなどのオプションを使用します。

- 対話形式を使用して、常にコマンド・ライン・ユーティリティで資格証明のプロンプトが表示されるようにします。

- ユーザー資格証明が格納されているファイル・ストアを指定します。ファイル・ストア自体もパスワードで保護します。

本番環境では、1番目のオプション(コマンドライン上でユーザーの資格証明を指定する方法)は決して使用せず、2番目および3番目のオプションのみを使用します。

対話モード(コマンドライン・ユーティリティが資格証明の入力を求める方法)を使用する場合には、ローカル・コンピュータに適したterminalioネイティブ・ライブラリがCLASSPATHに含まれていることを必ず確認し、ユーザーの資格証明の入力時にその情報が画面上にエコーされないようにしてください。Oracle CEPにはこの目的のために一連の標準ネイティブ・ライブラリが含まれていますが、ユーザーが必要とするライブラリが含まれていない可能性があります。

10.1.9 Oracle CEPの例およびドメインのセキュリティ

構成ウィザードを使用して新しいドメインを作成する際には、管理者のユーザーおよびパスワードを指定する他、ドメイン・アイデンティティ・キーストアのパスワードも指定します。このユーザーは自動的にwlevsAdministratorsグループに追加されます。デフォルトでは、セキュリティ構成はすべて、ファイルベースのプロバイダを使用して格納されます。

Oracle CEPの例はすべて、ユーザー名wlevsおよびパスワードwlevsを持つ管理者を使用するように構成されます。新しいドメインを作成する場合には、この管理者の名前とパスワードを指定します。

HelloWorld例ではデフォルトで、セキュリティは無効化されます。これは、任意のユーザーがパスワードを入力しなくてもサーバーを起動したり、アプリケーションをデプロイしたり、管理ツール(wlevs.Admin)のすべてのコマンドを実行したりできることを意味します。

FX例およびAlgoTrading例ではセキュリティが有効化されます。どちらの例でも、パスワードがwlevsのユーザーwlevsが、完全な管理者権限を持つOracle CEP管理者として構成されます。これらの例に対するサーバーを起動するスクリプトは、適切な引数を使用してこのユーザー名およびパスワードをjavaコマンドに渡します。デプロイヤまたはwlevs.Adminユーティリティを使用する場合も、適切な引数を使用してこのユーザー名/パスワードのペアを渡す必要があります。

詳細は、10.1.8項「コマンドライン・ユーティリティ使用時のユーザー資格証明の指定」を参照してください。

10.2 Oracle CEPサーバーのJava SEセキュリティの構成

Java SEプラットフォームには標準ベースで相互運用可能なセキュリティ・アーキテクチャが定義されていますが、これは動的で拡張可能なものとなっています。暗号化、認証および認可、公開鍵インフラストラクチャなどのセキュリティ機能が組み込まれています。

Oracle CEPは、次のセキュリティ・ポリシーを適用することにより、Java SEセキュリティをサポートします。

- policy.xml: Oracle CEPを構成するすべてのバンドルのセキュリティ・ポリシーを定義します。1番目のバンドル・セットはサーバー関連バンドルのポリシーを定義し、2番目のバンドル・セットはアプリケーション・バンドルのポリシーを定義します。

- security.policy: サーバーの起動およびJetty HTTPサーバーにデプロイされたWebアプリケーションのセキュリティ・ポリシーを定義します。このファイルはOracle CEP Visualizer Webアプリケーションのポリシーも定義します。

前述のファイルのサンプルは製品に付属しており、ORACLE_CEP_HOME/ocep_11.1/utils/securityにあります。ここで、ORACLE_CEP_HOMEは、Oracle CEPをインストールしたディレクトリ(/oracle_homeなど)を意味します。

Oracle CEPでは、Java SEのすべてのセキュリティ機能を有効化できます。

詳細は、10.1.1項「Java SEセキュリティ」を参照してください。

Oracle CEPサーバーJava SEセキュリティを構成するには:

1. Oracle CEPサーバーが現在実行中である場合は、停止します。
1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

2. policy.xmlおよびsecurity.policyを次のようにコピーします。

- コピー元: ORACLE_CEP_HOME/ocep_11.1/utils/security

- コピー先: DOMAIN_DIR/servername/config

ここで、ORACLE_CEP_HOMEはOracle CEPをインストールしたディレクトリ(/oracle_homeなど)を示し、DOMAIN_DIRはメインのOracle CEPインストール・ディレクトリを示し、servernameはサーバー名示します(/oracle_cep/user_projects/domains/mydomain/myserver/configなど)。

3. 必要に合わせて2つのセキュリティ・ポリシー・ファイルを編集します。

4. DOMAIN_DIR/servernameディレクトリにある、ユーザーのプラットフォーム向けのサーバー起動スクリプト(Windowsの場合はstartwlevs.cmd、UNIXの場合はstartwlevs.sh)を更新します。具体的には、サーバーを実際に起動するjavaコマンドに次の3つのプロパティを追加します。

-Djava.security.manager
-Djava.security.policy=./config/security.policy
-Dcom.bea.core.security.policy=./config/policy.xml

次のような例があります(実際には、完全なコマンドは1行にする必要があります)。

"%JAVA_HOME%\bin\java" %DGC% %DEBUG% -Djava.security.manager
-Djava.security.policy=./config/security.policy
-Dcom.bea.core.security.policy=./config/policy.xml
-Dwlevs.home="%USER_INSTALL_DIR%" -Dbea.hoe="%BEA_HOME%"
-jar "%USER_INSTALL_DIR%\bin\wlevs.jar" %1 %2 %3 %4 %5 %6

5. Oracle CEPサーバーのDOMAIN_DIR/servername/config/config.xmlファイルを更新し、Jetty Webアプリケーションのデプロイ先となるディレクトリを指定する<jetty>要素の<scratch-directory>子要素追加してJettyの構成を編集します。例:

<jetty>
<name>JettyServer</name>
<network-io-name>NetIO</network-io-name>
<work-manager-name>JettyWorkManager</work-manager-name>
<secure-network-io-name>sslNetIo</secure-network-io-name>
<scratch-directory>./JettyWork</scratch-directory>
</jetty>

6. 変更を有効にするために、Oracle CEPサーバーを再起動します。
1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

10.3 セキュリティ・プロバイダの構成

セキュリティ・プロバイダは、認証または認可(あるいはその両方)を実行します。

Oracle CEPサーバーでは、ファイルベース、LDAP、DBMSの各セキュリティ・プロバイダがサポートされます。

ファイルベースのセキュリティ・プロバイダは、構成ウィザードが構成するデフォルトのセキュリティ・プロバイダです。ファイルベースのセキュリティ・プロバイダを使用する場合、追加の構成は必要ではありません。

LDAPセキュリティ・プロバイダは認証のみをサポートします。

DBMSセキュリティ・プロバイダは認証および認可の両方をサポートします。

この項では次の内容について説明します。

- 10.3.1項「LDAPプロバイダを使用した認証およびDBMSプロバイダを使用した認可の構成」

- 10.3.2項「DBMSプロバイダを使用した認証と認可の両方の構成」

詳細は、10.1.2項「セキュリティ・プロバイダ」を参照してください。

10.3.1 LDAPプロバイダを使用した認証およびDBMSプロバイダを使用した認可の構成

次の手順では、LDAPセキュリティ・プロバイダを認証用に、DBMSプロバイダを認可用に構成する方法について説明します。

警告:

LDAPを使用して認証を行う場合、Oracle CEP Visualizerを使用してユーザーのパスワードは変更できますが、ユーザーやグループの追加や削除を行うことはできません。

LDAPプロバイダを使用して認証を構成し、DBMSプロバイダを使用して認可を構成するには:

1. コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項を参照してください。

2. ORACLE_CEP_HOME\ocep_11.1\binディレクトリをPATH環境変数に追加します。ここで、ORACLE_CEP_HOMEはメインのOracle CEPインストール・ディレクトリ(d:\oracle_cepなど)です。

prompt> set PATH=d:\oracle_cep\ocep_11.1\bin;%PATH% (Windows)
prompt> PATH=/oracle_cep/ocep_11.1/bin:$PATH (UNIX)

3. DOMAIN_DIR/servername/configディレクトリに移動します。ここで、DOMAIN_DIRはドメインのメイン・ディレクトリ(d:\oracle_cep\user_projects\domains\mydomainなど)を示し、servernameはサーバー名を示します。

prompt> cd d:\oracle_cep\user_projects\domains\mydomain\defaultserver\config

4. 任意のテキスト・エディタを使用し、myLDAPandDBMS.propertiesというファイルを作成し、このファイルに例10-1のコンテンツ全体をコピーします。

例10-1 LDAP/DBMSプロパティ・ファイル

# For attributes of type boolean or Boolean, value can be "true" or "false"
# and it's case insensitive.
# For attributes of type String[], values are comma separated; blanks before
# and after the comma are ignored. For example, if the property is defined as:
#   saml1.IntersiteTransferURIs=uri1, uri2, uri3
# the IntersiteTransferURIs attribute value is String[]{"uri1", "uri2", "uri3"}
# For attributes of type Properties, the value should be inputted as
# a set of key=value pairs separated by commas; blanks before and after the
# commas are also ignored. For example (in practice, the property should be all on one line):
#  store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver,
ConnectionURL=jdbc:oracle:thin:@united.bea.com:1521:xe, Username=user, Password=user
domain.mbean=com.bea.common.management.configuration.LegacyDomainInfoMBean
domain.DomainName=legacy-domain-name
domain.ServerName=legacy-server-name
domain.RootDirectory=legacy-rootdir
#domain.ProductionModeEnabled=
#domain.WebAppFilesCaseInsensitive=
domain.DomainCredential=changeit
jaxp.mbean=com.bea.common.management.configuration.JAXPFactoryServiceMBean
#jaxp.DocBuilderFactory=
#jaxp.SaxParserFactory=
#jaxp.SaxTransformFactory=
#jaxp.TransformFactory=
#ldapssl.mbean=com.bea.common.management.configuration.LDAPSSLSocketFactoryLookupServiceMBean
#ldapssl.Protocol=
#ldapssl.TrustManagerClassName=
namedsql.mbean=com.bea.common.management.configuration.NamedSQLConnectionLookupServiceMBean
store.mbean=com.bea.common.management.configuration.StoreServiceMBean
# Split here for readability; in practice, a property should be all on one line.
store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver,
ConnectionURL=jdbc:oracle:thin:@localhost:1521:orcl, Username=wlevs, Password=wlevs
#store.ConnectionProperties=
#store.NotificationProperties=
realm.mbean=weblogic.management.security.RealmMBean
realm.Name=my-realm
#realm.ValidateDDSecurityData=
#realm.CombinedRoleMappingEnabled=
#realm.EnableWebLogicPrincipalValidatorCache=
#realm.MaxWebLogicPrincipalsInCache=
#realm.DelegateMBeanAuthorization=
#realm.AuthMethods=
adt.1.mbean=weblogic.security.providers.audit.DefaultAuditorMBean
adt.1.Severity=INFORMATION
#adt.1.InformationAuditSeverityEnabled=
#adt.1.WarningAuditSeverityEnabled=
#adt.1.ErrorAuditSeverityEnabled=
#adt.1.SuccessAuditSeverityEnabled=
#adt.1.FailureAuditSeverityEnabled=
#adt.1.OutputMedium=
#adt.1.RotationMinutes=
#adt.1.BeginMarker=
#adt.1.EndMarker=
#adt.1.FieldPrefix=
#adt.1.FieldSuffix=
adt.1.Name=my-auditor
#adt.1.ActiveContextHandlerEntries=
atn.1.mbean=weblogic.security.providers.authentication.LDAPAuthenticatorMBean
#atn.1.UserObjectClass=
#atn.1.UserNameAttribute=
#atn.1.UserDynamicGroupDNAttribute=
atn.1.UserBaseDN=o=ECS,dc=bea,dc=com
atn.1.UserSearchScope=subtree
#atn.1.UserFromNameFilter=
#atn.1.AllUsersFilter=
atn.1.GroupBaseDN=ECS,dc=bea,dc=com
#atn.1.GroupSearchScope=
#atn.1.GroupFromNameFilter=
#atn.1.AllGroupsFilter=
#atn.1.StaticGroupObjectClass=
#atn.1.StaticGroupNameAttribute=
atn.1.StaticMemberDNAttribute=member
#atn.1.StaticGroupDNsfromMemberDNFilter=
#atn.1.DynamicGroupObjectClass=
#atn.1.DynamicGroupNameAttribute=
#atn.1.DynamicMemberURLAttribute=
atn.1.GroupMembershipSearching=unlimited
atn.1.MaxGroupMembershipSearchLevel=0
atn.1.UseRetrievedUserNameAsPrincipal=false
#atn.1.IgnoreDuplicateMembership=
#atn.1.KeepAliveEnabled=
atn.1.Credential=wlevs
#atn.1.Name=
#atn.1.PropagateCauseForLoginException=
atn.1.ControlFlag=REQUIRED
#atn.1.ConnectTimeout=
atn.1.Host=localhost
atn.1.Port=389
#atn.1.SSLEnabled=
atn.1.Principal=cn=Administrator,dc=bea,dc=com
#atn.1.CacheEnabled=
#atn.1.CacheSize=
#atn.1.CacheTTL=
atn.1.FollowReferrals=false
#atn.1.BindAnonymouslyOnReferrals=
#atn.1.ResultsTimeLimit=
#atn.1.ParallelConnectDelay=
#atn.1.ConnectionRetryLimit=
atn.1.EnableGroupMembershipLookupHierarchyCaching=true
#atn.1.MaxGroupHierarchiesInCache=
#atn.1.GroupHierarchyCacheTTL=
#atn.5.mbean=weblogic.security.providers.authentication.OpenLDAPAuthenticatorMBean
#atn.5.UserNameAttribute=
#atn.5.UserBaseDN=
#atn.5.UserFromNameFilter=
#atn.5.GroupBaseDN=
#atn.5.GroupFromNameFilter=
#atn.5.StaticGroupObjectClass=
#atn.5.StaticMemberDNAttribute=
#atn.5.StaticGroupDNsfromMemberDNFilter=
#atn.5.UserObjectClass=
#atn.5.UserDynamicGroupDNAttribute=
#atn.5.UserSearchScope=
#atn.5.AllUsersFilter=
#atn.5.GroupSearchScope=
#atn.5.AllGroupsFilter=
#atn.5.StaticGroupNameAttribute=
#atn.5.DynamicGroupObjectClass=
#atn.5.DynamicGroupNameAttribute=
#atn.5.DynamicMemberURLAttribute=
#atn.5.GroupMembershipSearching=
#atn.5.MaxGroupMembershipSearchLevel=
#atn.5.UseRetrievedUserNameAsPrincipal=
#atn.5.IgnoreDuplicateMembership=
#atn.5.KeepAliveEnabled=
#atn.5.Credential=
#atn.5.PropagateCauseForLoginException=
#atn.5.ControlFlag=
#atn.5.Name=
#atn.5.ConnectTimeout=
#atn.5.Host=
#atn.5.Port=
#atn.5.SSLEnabled=
#atn.5.Principal=
#atn.5.CacheEnabled=
#atn.5.CacheSize=
#atn.5.CacheTTL=
#atn.5.FollowReferrals=
#atn.5.BindAnonymouslyOnReferrals=
#atn.5.ResultsTimeLimit=
#atn.5.ParallelConnectDelay=
#atn.5.ConnectionRetryLimit=
#atn.5.EnableGroupMembershipLookupHierarchyCaching=
#atn.5.MaxGroupHierarchiesInCache=
#atn.5.GroupHierarchyCacheTTL=
cm.1.mbean=weblogic.security.providers.credentials.DefaultCredentialMapperMBean
cm.1.Name=my-credential-mapper
cm.1.CredentialMappingDeploymentEnabled=true
#cm.3.mbean=weblogic.security.providers.credentials.FileBasedCredentialMapperMBean
#cm.3.FileStorePath=
#cm.3.FileStorePassword=
#cm.3.EncryptAlgorithm=
#cm.3.Name=
#cm.3.CredentialMappingDeploymentEnabled=
rm.1.mbean=weblogic.security.providers.xacml.authorization.XACMLRoleMapperMBean
rm.1.Name=my-role-mapper
rm.1.RoleDeploymentEnabled=true
atz.1.mbean=weblogic.security.providers.xacml.authorization.XACMLAuthorizerMBean
atz.1.Name=my-authorizer
atz.1.PolicyDeploymentEnabled=true
adj.1.mbean=weblogic.security.providers.authorization.DefaultAdjudicatorMBean
adj.1.RequireUnanimousPermit=false
adj.1.Name=my-adjudicator

プロパティ・ファイルをカスタマイズします。具体的には、store.StorePropertiesプロパティを更新してデータベース・ドライバ情報、接続URL、およびデータベースに接続するユーザーのユーザー名/パスワードが反映されるようにします。デフォルトのプロパティがどのように設定されるかを、次に示します。

# Split for readability; in practice, the property should be on one line.
store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver,
ConnectionURL=jdbc:oracle:thin:@mymachine:1521:orcl, Username=wlevs,
Password=wlevs

さらに、LDAPサーバー構成を指定するプロパティを更新します。

その他すべてのプロパティはデフォルト値のままにします。

5. 元に戻す必要が生じた場合のために、既存のsecurity.xmlファイルのバックアップ・コピーを取っておきます。

prompt> copy security.xml security.xml_save

6. 次のcssconfigコマンドを実行して新しいセキュリティ構成ファイル(security.xml)を作成します。

prompt> cssconfig -p myLDAPandDBMS.properties -c security.xml -i security-key.dat

前述のコマンドで、myLDAPandDBMS.propertiesはステップ4で作成したプロパティ・ファイルであり、security.xmlは新しいセキュリティ構成ファイルの名前であり、security-key.datは構成ウィザードによって生成された既存のファイルで、アイデンティティ・キーを含んでいます。

追加情報は、C.1項「cssconfigコマンドライン・ユーティリティ」を参照してください。

7. 次のようにORACLE_CEP_HOME/ocep_11.1/utils/security/sqlディレクトリに移動します。

prompt> cd d:\oracle_cep\ocep_11.1\utils\security\sql

このディレクトリには、必要なセキュリティ関連データベース表を作成して初期データを設定するためのSQLスクリプトがあります。この手順ではDBMSプロバイダを認可のみに使用するので、関連するスクリプトは次のとおりです。

- atz_create.sql: 認可で必要となるすべての表を作成します。

- atz_drop.sql: 認可に関する表をすべてドロップします。

8. ステップ4でデータベース・ストアとして指定したデータベースに対し、次のSQLスクリプトを実行します。

- atz_create.sql

9. 10.1.3項「ユーザー、グループおよびロール」で説明されているデフォルト・グループおよびドメイン作成時に指定した管理者ユーザーを追加して、LDAPサーバーを構成します。デフォルトでは、wlevsというユーザーです。
詳細については、LDAPサーバーのドキュメントを参照してください。

10. オプションで、新しいsecurity.xmlファイル内でパスワードの強度を構成します。
10.4項「パスワード強度の構成」を参照してください。

10.3.2 DBMSプロバイダを使用した認証と認可の両方の構成

次の手順では、認証および認可の両方に使用するようにDBMSセキュリティ・プロバイダを構成する方法について説明します。

DBMSプロバイダを使用して認証および認可の両方を構成するには:

1. コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項を参照してください。

2. ORACLE_CEP_HOME\ocep_11.1\binディレクトリをPATH環境変数に追加します。ここで、ORACLE_CEP_HOMEはメインのOracle CEPインストール・ディレクトリ(d:\oracle_cepなど)です。

prompt> set PATH=d:\oracle_cep\ocep_11.1\bin;%PATH% (Windows)
prompt> PATH=/oracle_cep/ocep_11.1/bin:$PATH (UNIX)

3. DOMAIN_DIR/servername/configディレクトリに移動します。ここで、DOMAIN_DIRはドメインのメイン・ディレクトリ(d:\oracle_cep\user_projects\domains\mydomainなど)を示し、servernameはサーバー名を示します。

prompt> cd d:\oracle_cep\user_projects\domains\mydomain\defaultserver\config

4. 元に戻す必要が生じた場合のために、既存のsecurity.xmlファイルのバックアップ・コピーを取っておきます。

prompt> copy security.xml security.xml_save

5. 任意のテキスト・エディタを使用し、myDBMS.propertiesというファイルを作成し、このファイルに例10-2のコンテンツ全体をコピーします。

例10-2 DBMSプロパティ・ファイル

# For attributes of type boolean or Boolean, value can be "true" or "false"
# and it's case insensitive.
# For attributes of type String[], values are comma separated; blanks before
# and after the comma are ignored. For example, if the property is defined as:
#   saml1.IntersiteTransferURIs=uri1, uri2, uri3
# the IntersiteTransferURIs attribute value is String[]{"uri1", "uri2", "uri3"}
# For attributes of type Properties, the value should be inputted as
# a set of key=value pairs separated by commas; blanks before and after the
# commas are also ignored. For example (split for readability; in practice, the property should be all on one line):
#  store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver,
ConnectionURL=jdbc:oracle:thin:@united.bea.com:1521:xe, Username=user, Password=user
domain.mbean=com.bea.common.management.configuration.LegacyDomainInfoMBean
domain.DomainName=legacy-domain-name
domain.ServerName=legacy-server-name
domain.RootDirectory=legacy-rootdir
#domain.ProductionModeEnabled=
#domain.WebAppFilesCaseInsensitive=
domain.DomainCredential=changeit
jaxp.mbean=com.bea.common.management.configuration.JAXPFactoryServiceMBean
#jaxp.DocBuilderFactory=
#jaxp.SaxParserFactory=
#jaxp.SaxTransformFactory=
#jaxp.TransformFactory=
#ldapssl.mbean=com.bea.common.management.configuration.LDAPSSLSocketFactoryLookupServiceMBean
#ldapssl.Protocol=
#ldapssl.TrustManagerClassName=
namedsql.mbean=com.bea.common.management.configuration.NamedSQLConnectionLookupServiceMBean
store.mbean=com.bea.common.management.configuration.StoreServiceMBean
# Split for readability; the property should be fully on one line.
store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver,
ConnectionURL=jdbc:oracle:thin:@mymachine:1521:orcl, Username=wlevs, Password=wlevs
#store.ConnectionProperties=
#store.NotificationProperties=
realm.mbean=weblogic.management.security.RealmMBean
realm.Name=my-realm
#realm.ValidateDDSecurityData=
#realm.CombinedRoleMappingEnabled=
#realm.EnableWebLogicPrincipalValidatorCache=
#realm.MaxWebLogicPrincipalsInCache=
#realm.DelegateMBeanAuthorization=
#realm.AuthMethods=
sqlconn.1.mbean=com.bea.common.management.configuration.NamedSQLConnectionMBean
sqlconn.1.Name=POOL1
sqlconn.1.JDBCDriverClassName=oracle.jdbc.driver.OracleDriver
sqlconn.1.ConnectionPoolCapacity=5
sqlconn.1.ConnectionPoolTimeout=10000
sqlconn.1.AutomaticFailoverEnabled=false
sqlconn.1.PrimaryRetryInterval=0
sqlconn.1.JDBCConnectionURL=jdbc\:oracle\:thin\:@fwang02\:1521\:orcl
sqlconn.1.JDBCConnectionProperties=
sqlconn.1.DatabaseUserLogin=wlevs
sqlconn.1.DatabaseUserPassword=wlevs
sqlconn.1.BackupJDBCConnectionURL=
sqlconn.1.BackupJDBCConnectionProperties=
sqlconn.1.BackupDatabaseUserLogin=
sqlconn.1.BackupDatabaseUserPassword=
adt.1.mbean=weblogic.security.providers.audit.DefaultAuditorMBean
adt.1.Severity=INFORMATION
#adt.1.InformationAuditSeverityEnabled=
#adt.1.WarningAuditSeverityEnabled=
#adt.1.ErrorAuditSeverityEnabled=
#adt.1.SuccessAuditSeverityEnabled=
#adt.1.FailureAuditSeverityEnabled=
#adt.1.OutputMedium=
#adt.1.RotationMinutes=
#adt.1.BeginMarker=
#adt.1.EndMarker=
#adt.1.FieldPrefix=
#adt.1.FieldSuffix=
adt.1.Name=my-auditor
#adt.1.ActiveContextHandlerEntries=
atn.1.mbean=weblogic.security.providers.authentication.SQLAuthenticatorMBean
atn.1.PasswordAlgorithm=SHA-1
atn.1.PasswordStyle=SALTEDHASHED
atn.1.PasswordStyleRetained=true
atn.1.SQLCreateUser=INSERT INTO USERS VALUES ( ? , ? , ? )
atn.1.SQLRemoveUser=DELETE FROM USERS WHERE U_NAME \= ?
atn.1.SQLRemoveGroupMemberships=DELETE FROM GROUPMEMBERS WHERE G_MEMBER \= ? ORG_NAME \= ?
atn.1.SQLSetUserDescription=UPDATE USERS SET U_DESCRIPTION  \= ? WHERE U_NAME \= ?
atn.1.SQLSetUserPassword=UPDATE USERS SET U_PASSWORD \= ? WHERE U_NAME \= ?
atn.1.SQLCreateGroup=INSERT INTO GROUPS VALUES ( ? , ? )
atn.1.SQLSetGroupDescription=UPDATE GROUPS SET G_DESCRIPTION \= ? WHERE G_NAME \=  ?
atn.1.SQLAddMemberToGroup=INSERT INTO GROUPMEMBERS VALUES( ?, ?)
atn.1.SQLRemoveMemberFromGroup=DELETE FROM GROUPMEMBERS WHERE G_NAME \= ? AND G_MEMBER \= ?
atn.1.SQLRemoveGroup=DELETE FROM GROUPS WHERE G_NAME \= ?
atn.1.SQLRemoveGroupMember=DELETE FROM GROUPMEMBERS WHERE G_NAME \= ?
atn.1.SQLListGroupMembers=SELECT G_MEMBER FROM GROUPMEMBERS WHERE G_NAME \= ? AND G_MEMBER LIKE ?
atn.1.DescriptionsSupported=true
atn.1.SQLGetUsersPassword=SELECT U_PASSWORD FROM USERS WHERE U_NAME \= ?
atn.1.SQLUserExists=SELECT U_NAME FROM USERS WHERE U_NAME \= ?
atn.1.SQLListMemberGroups=SELECT G_NAME FROM GROUPMEMBERS WHERE G_MEMBER \= ?
atn.1.SQLListUsers=SELECT U_NAME FROM USERS WHERE U_NAME LIKE ?
atn.1.SQLGetUserDescription=SELECT U_DESCRIPTION FROM USERS WHERE U_NAME \= ?
atn.1.SQLListGroups=SELECT G_NAME FROM GROUPS WHERE G_NAME LIKE ?
atn.1.SQLGroupExists=SELECT G_NAME FROM GROUPS WHERE G_NAME \= ?
atn.1.SQLIsMember=SELECT G_MEMBER FROM GROUPMEMBERS WHERE G_NAME \= ? AND G_MEMBER \= ?
atn.1.SQLGetGroupDescription=SELECT G_DESCRIPTION FROM GROUPS WHERE G_NAME \= ?
atn.1.GroupMembershipSearching=unlimited
atn.1.MaxGroupMembershipSearchLevel=0
atn.1.DataSourceName=POOL1
atn.1.PlaintextPasswordsEnabled=true
atn.1.ControlFlag=REQUIRED
atn.1.Name=my-authenticator
atn.1.EnableGroupMembershipLookupHierarchyCaching=false
atn.1.MaxGroupHierarchiesInCache=100
atn.1.GroupHierarchyCacheTTL=60
cm.1.mbean=weblogic.security.providers.credentials.DefaultCredentialMapperMBean
cm.1.Name=my-credential-mapper
cm.1.CredentialMappingDeploymentEnabled=true
rm.1.mbean=weblogic.security.providers.xacml.authorization.XACMLRoleMapperMBean
rm.1.Name=my-role-mapper
rm.1.RoleDeploymentEnabled=true
atz.1.mbean=weblogic.security.providers.xacml.authorization.XACMLAuthorizerMBean
atz.1.Name=my-authorizer
atz.1.PolicyDeploymentEnabled=true
adj.1.mbean=weblogic.security.providers.authorization.DefaultAdjudicatorMBean
adj.1.RequireUnanimousPermit=false
adj.1.Name=my-adjudicator

プロパティ・ファイルをカスタマイズします。具体的には、store.StorePropertiesプロパティを更新してデータベース・ドライバ情報、接続URL、およびデータベースに接続するユーザーのユーザー名/パスワードが反映されるようにします。これはデフォルトのプロパティの設定方法です(実際には、この設定は1行である必要があります):

store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver,
ConnectionURL=jdbc:oracle:thin:@mymachine:1521:orcl, Username=wlevs,
Password=wlevs

その他すべてのプロパティはデフォルト値のままにします。

6. 次のcssconfigコマンドを実行して新しいセキュリティ構成ファイル(security.xml)を作成します。

prompt> cssconfig -p myDBMS.properties -c security.xml -i security-key.dat

前述のコマンドで、myDBMS.propertiesはステップ4で作成したプロパティ・ファイルであり、security.xmlは新しいセキュリティ構成ファイルの名前であり、security-key.datは構成ウィザードによって生成された既存のファイルで、アイデンティティ・キーを含んでいます。

追加情報は、C.1項「cssconfigコマンドライン・ユーティリティ」を参照してください。

7. 次のようにORACLE_CEP_HOME/ocep_11.1/utils/security/sqlディレクトリに移動します。

prompt> cd d:\oracle_cep\ocep_11.1\utils\security\sql

このディレクトリには、必要なセキュリティ関連データベース表を作成して初期データを設定するためのSQLスクリプトがあります。スクリプトは次のとおりです。

- atn_create.sql: 認証で必要となるすべての表を作成します。

- atn_drop.sql: 認証に関する表をすべてドロップします。

- atn_init.sql: 認証関連のユーザー表とグループ表にデフォルト値を挿入します。特にこのスクリプトは、wlevsという名前の単一のデフォルト管理者ユーザーをパスワードwlevsでユーザー表に挿入し、このユーザーがwlevsAdministratorsグループに属するものと指定します。さらにこのスクリプトは、表10-1に記載されたデフォルトグループのグループ表への挿入も行います。

- atz_create.sql: 認可で必要となるすべての表を作成します。

- atz_drop.sql: 認可に関する表をすべてドロップします。

8. 構成ウィザードを使用してドメインを作成する際に、デフォルトのwlevs以外の管理者ユーザーを指定した場合には、atn_init.sqlファイルを編集し、それに応じたINSERT INTO USERS文と対応するINSERT INTO GROUPMEMBERS文を追加します。
たとえば、管理ユーザーjulietをパスワードshackellで追加するには、次の文をatn_init.sqlファイルに追加します。

INSERT INTO USERS (U_NAME, U_PASSWORD, U_DESCRIPTION) VALUES ('juliet','shackell','default admin');
INSERT INTO GROUPMEMBERS (G_NAME, G_MEMBER) VALUES ('wlevsAdministrators','juliet');

9. ステップ4でデータベース・ストアとして指定したデータベースに対し、次のSQLスクリプト・ファイルを記載した順番で実行します。

- atn_create.sql

- atn_init.sql

- atz_create.sql

10. オプションで、新しいsecurity.xmlファイル内でパスワードの強度を構成します。
10.4項「パスワード強度の構成」を参照してください。

10.4 パスワード強度の構成

パスワードの強度は、認証資格証明としてのパスワードの効果を表す尺度です。パスワードの強度をどのように構成するかによって、ユーザーが指定できるパスワードのタイプが決定します。たとえば、パスワードにユーザー名を含めることができるかどうか、パスワードの最小限の長さ、パスワードに少なくとも何個の数字を含めるかなどを構成します。

Oracle CEPの認証で使用されるパスワードの強度を構成するには、DOMAIN_DIR/servername/configディレクトリにあるセキュリティ構成ファイル(security.xml)を更新します。ここで、DOMAIN_DIRはドメインのディレクトリ(d:/oracle_cep/user_projects/domains/mydomainなど)を示し、servernameはサーバー(defaultserverなど)を示します。

パスワード強度の構成は、<password-validator>要素内に格納されます。

例10-3に、構成ウィザードを使用して新しいドメインを作成した後の、デフォルト値を含むsecurity.xmlファイルからのスニペットを示します。

例10-3 security.xmlファイル内のデフォルトのpassword-validator要素

<sec:password-validator
xmlns:pas="http://www.bea.com/ns/weblogic/90/security/providers/passwordvalidator"
xsi:type="pas:system-password-validatorType">
<sec:name>my-password-validator</sec:name>
<pas:reject-equal-or-contain-username>true</pas:reject-equal-or-contain-username>
<pas:reject-equal-or-contain-reverse-username>
false
</pas:reject-equal-or-contain-reverse-username>
<pas:max-password-length>50</pas:max-password-length>
<pas:min-password-length>6</pas:min-password-length>
<pas:max-instances-of-any-character>0</pas:max-instances-of-any-character>
<pas:max-consecutive-characters>0</pas:max-consecutive-characters>
<pas:min-alphabetic-characters>1</pas:min-alphabetic-characters>
<pas:min-numeric-characters>1</pas:min-numeric-characters>
<pas:min-lowercase-characters>1</pas:min-lowercase-characters>
<pas:min-uppercase-characters>1</pas:min-uppercase-characters>
<pas:min-non-alphanumeric-characters>0</pas:min-non-alphanumeric-characters>
</sec:password-validator>

表10-2では、<password-validator>の構成可能なすべての子要素を説明します。

security.xmlファイルを手動で更新した場合には、変更内容が有効になるように、Oracle CEPサーバー・インスタンスを再起動する必要があります。

表10-2 <password-validator>の子要素

の子要素" width="100%">

子要素

説明

デフォルト値

reject-equal-or-contain-name

trueに設定すると、パスワードがユーザー名と同じであるかユーザー名を含んでいる場合に、Oracle CEPがそのパスワードを拒否します。

falseに設定すると、Oracle CEPがこの理由でパスワードを拒否することがなくなります。

true

reject-equal-or-contain-reverse-username

trueに設定すると、パスワードがユーザー名を逆にした文字列と同じであるかユーザー名を含んでいる場合に、Oracle CEPがそのパスワードを拒否します。

falseに設定すると、Oracle CEPがこの理由でパスワードを拒否することがなくなります。

false

max-password-length

パスワードの最大文字数を指定します。

0の値は制限なしを意味します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

50

min-password-length

パスワードの最小文字数を指定します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

6

max-instances-of-any-character

パスワード内で同じ文字が出現できる最大回数を指定します。たとえば、この要素を2に設定した場合、パスワードbubbleは無効となります。

0の値は制限なしを意味します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

0

max-consecutive-characters

パスワード内で許可される、連続する同一文字の最大数を指定します。たとえば、この要素を2に設定した場合、パスワードbubbbleは無効となります。

0の値は制限なしを意味します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

0

min-alphabetic-characters

パスワードに含める必要があるアルファベット文字の最小文字数を指定します。

0の値は制限なしを意味します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

1

min-numeric-characters

パスワードに含める必要がある数字の最小文字数を指定します。

0の値は制限なしを意味します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

1

min-lowercase-characters

パスワードに含める必要がある小文字の最小文字数を指定します。

0の値は制限なしを意味します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

0

min-uppercase-characters

パスワードに含める必要がある大文字の最小文字数を指定します。

0の値は制限なしを意味します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

0

min-non-alphanumeric-characters

パスワードに含める必要のある非英数字の最小数を指定します。非英数字としては、$、#、@、&、!などがあげられます。

0の値は制限なしを意味します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

0

10.5 セキュア・ネットワーク・トラフィックへのSSLの構成

Oracle CEPは、一方向のSecure Sockets Layer (SSL)を使用して次の各要素間のネットワーク・トラフィックを保護します。

- Oracle CEP Visualizerを実行しているブラウザと、Oracle CEP Visualizerが使用するデータサービス・アプリケーションをホストしているOracle CEPインスタンスとの間。

- wlevs.Adminコマンドライン・ユーティリティとOracle CEPインスタンスとの間。
A.4項「wlevs.AdminユーティリティをSSLモードで実行」を参照してください。

- マルチ・サーバー・ドメインのメンバー・サーバー間。

サーバーのconfig.xmlファイル内でSSLを構成します。構成ウィザードを使用してOracle CEPサーバーを作成した場合、そのサーバーのconfig.xmlにはデフォルトのSSL構成が自動的に含められます。

この項では次の内容について説明します。

- 10.5.1項「手動でSSLを構成する方法」

- 10.5.2項「手動でキーストアを作成する方法」

- 10.5.3項「Oracle CEP Visualizerのマルチサーバー・ドメインでSSLを構成する方法」

詳細は、10.1.4項「SSL」を参照してください。

10.5.1 手動でSSLを構成する方法

この項では、Oracle CEPでのSSLの構成方法について説明します。

SSLを手動で構成するには:

1. 構成ウィザードを使用してドメインを作成します。
次を参照してください。

- 3.1項「Oracle CEPスタンドアロンサーバー・ドメインの作成」

- 6.1項「Oracle Coherenceを使用したOracle CEPマルチサーバー・ドメインの作成」

- 7.1項「Oracle CEPネイティブ・クラスタリングを使用したOracle CEPマルチサーバー・ドメインの作成」

2. 任意のXMLエディタを使用して、Oracle CEPサーバーのconfig.xmlファイルを開きます。
デフォルトでは、構成ウィザードはconfig.xmlファイルをORACLE_CEP_HOME/user_projects/domains/DOMAIN_DIR/servername/configディレクトリ内に作成します。ここで、ORACLE_CEP_HOMEはOracle CEPのインストール・ディレクトリ(d:/oracle_cepなど)を示し、DOMAIN_DIRはドメインのディレクトリ(my_domainなど)を示します。servernameはサーバー・インスタンスのディレクトリ(server1など)を示します。

詳細は、1.3.1項「Oracle CEPサーバー構成ファイル」を参照してください。

3. ssl要素を構成します。

例10-4に、構成ウィザードによって作成されるデフォルトのssl要素を示します。

例10-4 デフォルトのssl要素

<ssl>
<name>sslConfig</name>
<key-store>./ssl/evsidentity.jks</key-store>
<key-store-pass>
<password>{Salted-3DES}sdlUX8aEDeNpQ4VhsaCnFA==</password>
</key-store-pass>
<key-store-alias>evsidentity</key-store-alias>
<key-manager-algorithm>SunX509</key-manager-algorithm>
<ssl-protocol>TLS</ssl-protocol>
<enforce-fips>false</enforce-fips>
<need-client-auth>false</need-client-auth>
</ssl>

key-store要素は証明書ファイルを指します。構成ウィザードは、evsidentity.jksという名前のデフォルトの証明書ファイルをDOMAIN_DIR/servername/sslディレクトリ内に作成します。そのパスワードは、構成ウィザードを使用してサーバーを作成する際に入力したパスワードと同じになります。

デフォルトでは、証明書秘密鍵のパスワードは、アイデンティティ・キーストアのパスワードと同じになります。

注意:

証明書秘密鍵のパスワードがアイデンティティ・キーストアのパスワードと同じでないと、Oracle CEPサーバーが起動しません。

evsidentity.jksには自己署名証明書が含まれています。必要であれば、ユーザー独自の証明書ファイルを作成し、evsidentity.jksファイルを置き換えるか、config.xmlファイルのkey-store要素を更新します。

注意:

本番環境では、システム管理者は、デフォルトの自己署名証明書をCA署名証明書で置き換える必要があります。

キーストアを自分で作成する方法の詳細は、10.5.2項「手動でキーストアを作成する方法」を参照してください。

enforce-fips要素の詳細は、10.6項「Oracle CEPサーバーのFIPSの構成」を参照してください。

4. SSL用のnetio要素を構成します。

例10-5では、構成ウィザードによって作成されるデフォルトのnetio要素を示します。

例10-5 デフォルトのnetio要素

<netio>
<name>sslNetIo</name>
<ssl-config-bean-name>sslConfig</ssl-config-bean-name>
<port>9003</port>
</netio>

ssl-config-bean-nameは、ssl要素のname子要素に一致する必要があります(ステップ3を参照してください)。

オプションで、このポートをニーズに合ったポート番号に変更します。

デフォルトでは、デフォルトのセキュア・ポートは9003です。

5. jetty要素を構成し、secure-network-io-name子要素を追加します。
例10-6では、構成ウィザードによって作成されるデフォルトのjetty要素を示します。

例10-6 デフォルトのjetty要素

<jetty>
<name>JettyServer</name>
<network-io-name>NetIO</network-io-name>
<work-manager-name>JettyWorkManager</work-manager-name>
<secure-network-io-name>sslNetIo</secure-network-io-name>
</jetty>

secure-network-io-nameは、SSLのnetio要素のname子要素に一致する必要があります(ステップ4を参照してください)。

6. config.xmlファイルを保存して閉じます。

7. Oracle CEPサーバーが実行中の場合は再起動します。
1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

10.5.2 手動でキーストアを作成する方法

デフォルトでは、構成ウィザードは、evsidentity.jksという名前のデフォルトのキーストア証明書ファイルをDOMAIN_DIR/servername/sslディレクトリ内に作成します。そのパスワードは、構成ウィザードを使用してサーバーを作成する際に入力したパスワードと同じになります。オプションでは、手動で独自のキーストアを構成できます。

詳細は、次を参照してください:

- 3.1.1項「グラフィカル・モードで構成ウィザードを使用したOracle CEPスタンドアロンサーバー・ドメインの作成」

- 10.5.1項「手動でSSLを構成する方法」

キーストアを手動で作成するには:

1. 次のようにJDKのkeytoolコマンドを使用して、キーストアを生成します。

keytool -genkey -alias evsidentity -keyalg RSA -validity 10958 -keystore evsidentity.jks -keysize 1024

2. 要求されたら、次のようにキーストアのパスワードを入力します。

Enter keystore password:

3. 要求されたら、次のようにキーストアの属性を入力します。

What is your first and last name?
[Unknown]:  CEP
What is the name of your organizational unit?
[Unknown]:  SOA
What is the name of your organization?
[Unknown]:  ORACLE
What is the name of your City or Locality?
[Unknown]:  SF
What is the name of your State or Province?
[Unknown]:  CA
What is the two-letter country code for this unit?
[Unknown]:  US
Is CN=CEP, OU=SOA, O=ORACLE, L=SF, ST=CA, C=US correct?
[no]:  y

4. 次のように鍵のパスワードを要求されたら、パスワードは入力せず、RETURNを押します。

Enter key password for <evsidentity>
(RETURN if same as keystore password):

注意:

証明書秘密鍵のパスワードがアイデンティティ・キーストアのパスワードと同じでないと、Oracle CEPサーバーが起動しません。

5. 任意のXMLエディタを使用して、Oracle CEPサーバーのconfig.xmlファイルを開きます。
デフォルトでは、構成ウィザードはconfig.xmlファイルをORACLE_CEP_HOME/user_projects/domains/DOMAIN_DIR/servername/configディレクトリ内に作成します。ここで、ORACLE_CEP_HOMEはOracle CEPのインストール・ディレクトリ(d:/oracle_cepなど)を示し、DOMAIN_DIRはドメインのディレクトリ(my_domainなど)を示します。servernameはサーバー・インスタンスのディレクトリ(server1など)を示します。

詳細は、1.3.1項「Oracle CEPサーバー構成ファイル」を参照してください。

6. ssl要素を構成します。
例10-4に、構成ウィザードによって作成されるデフォルトのssl要素を示します。

例10-7 デフォルトのssl要素

<ssl>
<name>sslConfig</name>
<key-store>KEYSTORE_PATH</key-store>
<key-store-pass>
<password>PASSWORD</password>
</key-store-pass>
<key-store-alias>KEYSTORE_ALIAS</key-store-alias>
<key-manager-algorithm>SunX509</key-manager-algorithm>
<ssl-protocol>TLS</ssl-protocol>
<enforce-fips>false</enforce-fips>
<need-client-auth>false</need-client-auth>
</ssl>

説明:

- KEYSTORE_PATHは、キーストア・ファイルへのファイル・パスです(ファイル名はkeytoolコマンドの-keystore引数からのものです)。

- PASSWORDは、キーストアのクリアテキスト・パスワードです。

- KEYSTORE_ALIASは、キーストアの別名(keytoolコマンドの-alias引数からのもの)です。

7. config.xmlファイルを保存して閉じます。

8. encryptMSAConfigユーティリティを使用して、config.xmlファイルのkey-store-pass要素のpassword子要素に含まれるクリアテキスト・パスワードを暗号化します。
C.2項「encryptMSAConfigコマンドライン・ユーティリティ」を参照してください。

10.5.3 Oracle CEP Visualizer用のマルチサーバー・ドメインでSSLを構成する方法

次の手順は、マルチサーバー・ドメイン内で、Oracle CEP Visualizerのデータサービス・アプリケーションをホストしているサーバーと別のサーバーとの間で一方向のSSLを構成する方法を示したものです。

この手順では、Oracle CEP Visualizerのデータサービス・アプリケーションをホストしているサーバーの名前はserver1、他方のサーバーの名前はserver2であり、どちらも/oracle_cep/user_projects/domains/mydomainディレクトリにあるものと仮定しています。必要であれば、ドメイン内の他のサーバーについてもこの手順を繰り返してください。

マルチサーバー・ドメイン内のサーバー間で送信されるメッセージを保護する方法については、次を参照してください。

- Oracle Coherence: 6.3項「マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護」

- Oracle CEPネイティブ・クラスタリング: 7.3項「マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護」

マルチサーバー・ドメインでOracle CEP Visualizerを起動する方法の詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のマルチサーバー・ドメインでOracle CEP Visualizerを起動する方法に関する項を参照してください。

マルチサーバー・ドメインで、Oracle CEP Visualizerで使用するためのSSLを構成するには:

1. ドメイン内の2つのサーバーでSSLが構成されていることを確認します。
構成ウィザードを使用してサーバーを作成した場合、SSLはデフォルトで構成されています。

デフォルト構成を変更する方法および詳細は、10.5.1項「手動でSSLを構成する方法」を参照してください。

2. server2を起動します。
1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

3. コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項を参照してください。

4. 次のように、server1ディレクトリのsslサブディレクトリに移動します。

prompt> cd /oracle_cep/user_projects/domains/mydomain/server1/ssl

5. 次のコマンドを指定して、server2の証明書を含むserver1のトラスト・キーストアを生成します(読みやすくするために分割してありますが、実際にはコマンドは1行にする必要があります)。

prompt> java -classpath ORACLE_CEP_HOME\ocep_11.1\common\lib\evspath.jar;ORACLE_CEP_HOME\ocep_11.1\utils\security\wlevsgrabcert.jar
com.bea.wlevs.security.util.GrabCert host:secureport
-alias=alias truststorepath

説明

- ORACLE_CEP_HOMEは、Oracle CEPのインストール・ディレクトリ(d:/oracle_cepなど)を意味します。

- hostは、server2が実行されているコンピュータを意味します。

- secureportは、server2用に構成されたSSLネットワーク入出力ポートを意味します。デフォルト値は9003です。
詳細は、10.5.1項「手動でSSLの構成方法」の例10-5を参照してください。

- aliasは、トラスト・キーストアにある証明書の別名です。デフォルト値はhostnameです。

- truststorepathは、生成されるトラスト・キーストア・ファイルのフル・パス名を意味します。デフォルトはevstrust.jksです。

次のような例があります(読みやすくするために分割してありますが、実際にはコマンドは1行にする必要があります)。

prompt> java -classpath C:\OracleCEP\ocep_11.1\common\lib\evspath.jar;C:\OracleCEP\ocep_11.1\utils\security\wlevsgrabcert.jar
com.bea.wlevs.security.util.GrabCert server2:9003
-alias=server2 evstrust.jks

詳細は、C.3項「GrabCertコマンドライン・ユーティリティ」を参照してください。

6. 要求されたら、次のようにOracle CEP管理者のパスワードを入力します。

Please enter the Password for the supplied user : wlevs

7. 要求されたら、次のようにserver2から送信された証明書を選択します。

Created TrustStore evstrust.jks
Opening connection to server2:9003...
Starting SSL handshake...

No certificates in evstrust.jks are trusted by server2:9003

Server sent 1 certificate(s):

1 Subject CN=localhost, OU=Event Server, O=BEA, L=San Jose, ST=California, C=US
Issuer  CN=localhost, OU=Event Server, O=BEA, L=San Jose, ST=California, C=US
sha1    00 07 c0 f4 10 48 9a f9 07 82 4f b6 9c 7f 7c d0 37 57 90 7d
md5     a4 d4 ff d2 43 69 95 ca c3 43 e6 f6 b8 08 df b7

Enter certificate to add to trusted keystore evstrust.jks or 'q' to quit: [1]

8. server1のconfig.xmlファイルを更新します。具体的には、次のスニペットで太字で示しているように、トラスト・キーストアの情報をssl要素に追加し、use-secure-connections要素を追加します。

<ssl>
<name>sslConfig</name>
<key-store>./ssl/evsidentity.jks</key-store>
<key-store-pass>
<password>{Salted-3DES}s4YUEvH4Wl2DAjb45iJnrw==</password>
</key-store-pass>
<key-store-alias>evsidentity</key-store-alias>
<key-manager-algorithm>SunX509</key-manager-algorithm>
<ssl-protocol>TLS</ssl-protocol>
<trust-store>./ssl/evstrust.jks</trust-store>
<trust-store-pass>
<password>wlevs</password>
</trust-store-pass>
<trust-store-alias>evstrust</trust-store-alias>
<trust-store-type>JKS</trust-store-type>
<trust-manager-algorithm>SunX509</trust-manager-algorithm>
<enforce-fips>false</enforce-fips>
<need-client-auth>false</need-client-auth>
</ssl>
<use-secure-connections>
<value>true</value>
</use-secure-connections>

構成ファイルは、メイン・サーバー・ディレクトリのconfigサブディレクトリ(/oracle_cep/user_projects/domains/mydomain/server1/config/など)にあります。

9. encryptMSAConfigユーティリティを使用して、config.xmlファイルのtrust-store-pass要素のpassword子要素に含まれるクリアテキスト・パスワードを暗号化します。
C.2項「encryptMSAConfigコマンドライン・ユーティリティ」を参照してください。

10. server1を起動します。

10.6 Oracle CEPサーバーのFIPSの構成

Federal Information Processing Standards (FIPS)の認定を受けた擬似乱数ジェネレータを使用するように、Oracle CEPサーバーを構成できます。

詳細は、10.1.5項「FIPS」を参照してください。

Oracle CEPサーバーのFIPSを構成するには:

1. Java SEのセキュリティを構成します。
10.2項「Oracle CEPサーバーのJava SEセキュリティの構成」を参照してください。

2. SSLを構成します。
10.5項「セキュア・ネットワーク・トラフィックへのSSLの構成」を参照してください。

3. com.bea.core.jsafejcefips_version.jarをコピーします。

- コピー元: ORACLE_CEP_HOME/ocep_11.1/utils/security

- コピー先: JRE_HOME/jre/lib/ext

ここで、ORACLE_CEP_HOMEはOracle CEPをインストールしたディレクトリを示し、JRE_HOMEはユーザーのJRockit JREを含むディレクトリを示します。

1. Oracle JRockit Real TimeとともにインストールされたJRockit JDKを使用する場合、com.bea.core.jsafejcefips_version.jarをJROCKIT_HOME/JROCKIT_RT_HOME/jre/lib/extディレクトリにコピーします。
ここでJROCKIT_HOMEは、d:\jrockitなどのOracle JRockit Real Timeをインストールした先のディレクトリを示します。

2. Oracle CEPと共にインストールされたJRockit JDKを使用する場合、com.bea.core.jsafejcefips_version.jarをORACLE_CEP_HOME/JROCKIT_HOME/jre/lib/extディレクトリにコピーします。
ここで、ORACLE_CEP_HOMEは、Oracle CEPサーバーをインストールしたディレクトリ(d:\oracle_cepなど)です。

4. Oracle CEPサーバーが現在実行中である場合は、停止します。
1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

5. JRE_HOME/jre/lib/security/java.securityファイルを編集し、例10-8で示すように、com.bea.core.jsafejcefips_2.0.0.0.jarをJCEプロバイダとして追加します。

例10-8 JCEプロバイダとしてjsafejcefips JARを追加するためのjava.securityの編集

security.provider.N=com.rsa.jsafe.provider.JsafeJCE

ここで、Nは、Javaがセキュリティ・プロバイダにアクセスする順序を指定する一意の整数です。

JsafeJCEプロバイダをデフォルトのプロバイダにするには、Nを1に設定します。この場合、例10-9で示されるとおり、各プロバイダが一意の値を持つように、java.securityファイル内の他のプロバイダのNの値を変更します。

例10-9 JsafeJCEをデフォルト・プロバイダに設定

security.provider.1=com.rsa.jsafe.provider.JsafeJCE
security.provider.2=sun.security.provider.Sun

6. 例10-10で示すように、server.configファイルのssl要素を編集し、次の子要素を追加します。

- enforce-fips: このオプションをtrueに設定します。

- secure-random-algorithm: このオプションをFIPS186PRNGに設定します。

- secure-random-provider: このオプションをJsafeJCEに設定します。

例10-10 FIPSを有効化するためのserver.configの編集

<ssl>
<name>sslConfig</name>
<key-store>./ssl/evsidentity.jks</key-store>
<key-store-pass>
<password>s4YUEvH4Wl2DAjb45iJnrw==</password>
</key-store-pass>
<key-store-alias>evsidentity</key-store-alias>
<key-manager-algorithm>SunX509</key-manager-algorithm>
<ssl-protocol>TLS</ssl-protocol>
<enforce-fips>true</enforce-fips>
<need-client-auth>false</need-client-auth>
<secure-random-algorithm>FIPS186PRNG</secure-random-algorithm>
<secure-random-provider>JsafeJCE</secure-random-provider>
</ssl>

7. 変更を有効にするために、Oracle CEPサーバーを再起動します。
1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

10.7 Oracle CEPサーバー用のHTTPS専用接続の構成

この節では、HTTPS接続だけが許可されるようにサーバーをロック・ダウンする方法について説明します。

Oracle CEPサーバーのHTTPS専用接続を構成するには:

1. サーバーのSSLが構成されていることを確認します。
詳細は、10.5項「セキュア・ネットワーク・トラフィックへのSSLの構成」を参照してください。

2. サーバーのDOMAIN_DIR/servername/config/config.xmlファイルからHTTPポートの構成を削除し、HTTPSポートの構成のみを残します。
例10-11は標準的な構成を含むconfig.xmlのスニペットを示したもので、HTTPポートおよびHTTPSポートの両方が構成されています。HTTPポートは9002、HTTPSポートは9003です。クライアントは両方のポートを使用してJettyサーバーにアクセスできます。

例10-11 HTTPアクセスおよびHTTPSアクセスの両方を含む一般的なconfig.xmlファイル

<netio>
<name>NetIO</name>
<port>9002</port>
</netio>
<netio>
<name>sslNetIo</name>
<port>9003</port>
<ssl-config-bean-name>sslConfig</ssl-config-bean-name>
</netio>
<jetty>
<name>JettyServer</name>
<network-io-name>NetIO</network-io-name>
<secure-network-io-name>sslNetIo</secure-network-io-name>
...
</jetty>
<ssl>
<name>sslConfig</name>
<key-store>./ssl/evsidentity.jks</key-store>
...
</ssl>

例10-12は、HTTPアクセスが削除された同一のconfig.xmlファイルを示します。クライアントは、HTTPSポートのみを使用してJettyサーバーにアクセスできます。

例10-12 HTTPアクセスが削除された状態の一般的なconfig.xmlファイル

<netio>
<name>sslNetIo</name>
<port>9003</port>
<ssl-config-bean-name>sslConfig</ssl-config-bean-name>
</netio>
<jetty>
<name>JettyServer</name>
<secure-network-io-name>sslNetIo</secure-network-io-name>
...
</jetty>
<ssl>
<name>sslConfig</name>
<key-store>./ssl/evsidentity.jks</key-store>
...
</ssl>

3. マルチサーバー・ドメインの場合には、メンバー・サーバー間でSSLが構成されていることを確認します。
詳細は、10.5.3項「Oracle CEP Visualizer用のマルチサーバー・ドメインでSSLを構成する方法」を参照してください。

10.8 Oracle CEPサーバー・サービス用のセキュリティの構成

基本的なセキュリティ・タスク(Java SEセキュリティ、セキュリティ・サービス・プロバイダ、SSLの構成など)が完了したら、Oracle CEPサーバーが提供する様々なサービスに固有のセキュリティ詳細を構成できます。

この項では次の内容について説明します。

- 10.8.1項「Jettyセキュリティの構成」

- 10.8.2項「JMXセキュリティの構成」

- 10.8.3項「JDBCセキュリティの構成」

- 10.8.4項「HTTPパブリッシュ/サブスクライブ・サーバー・チャネル・セキュリティの構成」

10.8.1 Jettyセキュリティの構成

Oracle CEPでは、HTTPサーブレットや静的リソースをデプロイするためのJava Webサーバーとして、Jetty(http://www.mortbay.orgを参照してください)がサポートされています。

次のセキュリティ・タスクはJettyの構成に影響を与えます。

- 10.2項「Oracle CEPサーバーのJava SEセキュリティの構成」

- 10.5項「セキュア・ネットワーク・トラフィックへのSSLの構成」

Jettyの詳細は、第11章「Oracle CEP用のJettyの構成」を参照してください。

10.8.2 JMXセキュリティの構成

JMXを使用してOracle CEPサーバーにアクセスするクライアントは、Oracle CEPのロールベースの認証によって処理されます。

詳細は、次を参照してください:

- 10.1.3項「ユーザー、グループおよびロール」

- 『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のグループの管理に関する項

- 『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のユーザーの管理に関する項

JMXの詳細は、第12章「Oracle CEPのJMXの構成」を参照してください。

10.8.3 JDBCセキュリティの構成

構成ウィザードを使用してdata-sourceを新しいパスワードで更新する場合、構成ウィザードによってパスワードの暗号化が実行されます。

data-source要素を追加または変更することでconfig.xmlファイルを手動で更新する場合には、パスワードをプレーン・テキストで入力した後、暗号化ユーティリティencryptMSAConfigを使用してそのパスワードを暗号化します。

例10-13に、config.xmlファイルのdata-source要素を示します。ここでは、properties要素内で新しいプレーン・テキスト・パスワードのsecretがpasswordという名前で指定されています。

例10-13 暗号化後のOracle CEP config.xmlファイルのdata-source要素

<data-source>
<name>epcisDS</name>
<driver-params>
<url>jdbc:sqlserver://localhost:1433;databaseName=myDB;SelectMethod=cursor</url>
<driver-name>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-name>
<properties>
<element>
<name>user</name>
<value>juliet</value>
</element>
<element>
<name>password</name>
<value>secret</value>
</element>
</properties>
</driver-params>
</data-source>
<transaction-manager>
<name>TM</name>
<rmi-service-name>RMI</rmi-service-name>
</transaction-manager>

例10-14に、暗号化後のconfig.xmlファイルのdata-source要素を示します。プレーン・テキストのパスワードが暗号化されている点に注意してください。

例10-14 暗号化後のOracle CEP config.xmlファイルのdata-source要素

<data-source>
<name>epcisDS</name>
<driver-params>
<url>jdbc:sqlserver://localhost:1433;databaseName=myDB;SelectMethod=cursor</url>
<driver-name>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-name>
<properties>
<element>
<name>user</name>
<value>juliet</value>
</element>
<element>
<name>password</name>
<value>{Salted-3DES}hVgC5iZ3nZA=</value>
</element>
</properties>
</driver-params>
</data-source>
<transaction-manager>
<name>TM</name>
<rmi-service-name>RMI</rmi-service-name>
</transaction-manager>

詳細は、次を参照してください:

- 10.1.8項「コマンドライン・ユーティリティ使用時のユーザー資格証明の指定」

- C.2項「encryptMSAConfigコマンドライン・ユーティリティ」

JDBCの詳細は、第13章「Oracle CEP用のJDBCの構成」を参照してください。

10.8.4 HTTPパブリッシュ/サブスクライブ・サーバー・チャネルのセキュリティの構成

少なくとも1つのHTTPパブリッシュ・サブスクライブ・サーバー・チャネルを構成した後、Oracle CEP Visualizerを使用して、ロールベースの認証を適用して個々のHTTPパブリッシュ・サブスクライブ・サーバー・チャネルへのアクセスを制御できます。

詳細は、次を参照してください:

- 10.1.3項「ユーザー、グループおよびロール」

- 第14章「Oracle CEPのHTTPパブリッシュ/サブスクライブの構成」

- 『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のHTTPパブリッシュ/サブスクライブ・チャネルのセキュリティの構成に関する項

10.9 Oracle CEP Visualizerのクロスドメイン・セキュリティの構成

Oracle CEP Visualizerは、イベント処理ネットワークの作成および構成に使用できるAdobe Flashベースのユーザー・インタフェースを提供します。Oracle CEP Visualizerの最も柔軟性の高いデフォルトのパフォーマンスを提供するために、ソフトウェアはあらゆるドメインからVisualizerデータにアクセスできるように構成された信頼レベルでインストールされます。この信頼レベルがデプロイメントにとって適切でないと判断される場合、アクセスを制限するために、アプリケーションのFlashクロスドメイン・ポリシー・ファイルを編集できます。

Flashクロスドメイン・ポリシーにより許可されるドメインを確認し、それらのドメインの意図とセキュリティの姿勢の両方を、アプリケーションが完全に信頼するのが適切かどうかを判断する必要があります。

AdobeのWebサイトで、クロスドメイン・ポリシーの編集についての詳細な説明を参照できます。Adobeクロスドメイン・ポリシー・ファイルの使用の詳細は、AdobeのセキュリティWebサイトを参照してください。

クロスドメイン・セキュリティの更新には、Oracle CEP Visualizer JARファイルを開くことが含まれます。手順の概要は次のとおりです。

1. Oracle CEP Visualizer JARファイルを探します。デフォルトでは、Oracle CEPインストール内の次の場所にあります:
CEP_HOME/modules/com.bea.wlevs.visualizer.jmxhttpadapter_version.jar

たとえば、Windowsインストールでは次のようになります:

C:\Oracle\Middleware\ocep_11.1\modules\com.bea.wlevs.visualizer.jmxhttpadapter_11.1.1.6_0.jar

2. JARファイルを展開してcrossdomain.warを探します。

3. crossdomain.warを展開してcrossdomain.xmlを探します。

4. crossdomain.xmlを編集してクロスドメイン・セキュリティの要件を反映させます。

5. crossdomain.warおよびOracle CEP Visualizer JARファイルを再パッケージ化します。

10.10 Oracle CEPセキュリティ監査プログラムの構成

Oracle CEPには、セキュリティ関連のアクティビティをログするセキュリティ監査プログラムが提供されています。

セキュリティ監査プログラムのデフォルトのロギング先は、DOMAIN_DIR/servername/legacy-rootdir/servers/legacy-server-name/logs/DefaultAuditRecorder.logファイルです。ここで、DOMAIN_DIRはドメインのメイン・ディレクトリ(d:\oracle_cep\user_projects\domains\mydomainなど)を示し、servernameはサーバー名を示します。

デフォルトで、Oracle CEPセキュリティ監査プログラムはセキュリティ上のエラーまたは障害のみをロギングします。これにより、セキュリティ監査プログラムのログ・ファイルを管理可能なサイズに保ちやすくなります。

オプションで、Oracle CEPセキュリティ監査プログラムが情報をログするレベルを構成できます。

詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』のWebLogic監査プロバイダの構成に関する項を参照してください。

セキュリティ監査プログラムのロギングを構成するには:

1. DOMAIN_DIR/servername/configディレクトリに移動します。ここで、DOMAIN_DIRはドメインのメイン・ディレクトリ(d:\oracle_cep\user_projects\domains\mydomainなど)を示し、servernameはサーバー名を示します。

prompt> cd d:\oracle_cep\user_projects\domains\mydomain\defaultserver\config

2. 任意のテキスト・エディタを使用して、security.xmlファイルを編集します。

3. sec:auditor要素を検索します。
例10-15は、デフォルトのsec:auditor要素の構成を示します。

例10-15 デフォルトのsec:auditor要素

<sec:auditor xsi:type="wls:default-auditorType">
<sec:name>my-auditor</sec:name>
<wls:severity>CUSTOM</wls:severity>
<wls:rotation-minutes>720</wls:rotation-minutes>
<wls:error-audit-severity-enabled>true</wls:error-audit-severity-enabled>
<wls:failure-audit-severity-enabled>true</wls:failure-audit-severity-enabled>
</sec:auditor>

4. 必要に応じてsec:auditor要素を変更します。

- wls:rotation-minutes: 何分待ってから新しいDefaultAuditRecorder.logファイルを作成するかを指定します。指定された時刻になると、監査ファイルが閉じられ、新しいファイルが作成されます。DefaultAuditRecorder.YYYYMMDDHHMM.logという名前のバックアップ・ファイル(DefaultAuditRecorder.200405130110.logなど)が同じディレクトリ内に作成されます。

- wls:severity: 表10-3で示すように、Oracle CEPサーバーに適した重大度レベルを指定します。Oracle CEPのセキュリティ監査プログラムは、指定された重大度のセキュリティ・イベントだけでなく、それより高い重大度ランク値を持つイベントもすべて監査します。たとえば、重大度レベルをERRORに設定した場合、Oracle CEPのセキュリティ監査プログラムは、重大度レベルERROR、SUCCESSおよびFAILUREのセキュリティ・イベントを監査します。

表10-3 Oracle CEPのセキュリティ監査プログラムの重大度レベル

イベントの重大度

ランク

INFORMATION

1

WARNING

2

ERROR

3

SUCCESS

4

FAILURE

5

あるいは、例10-15で示すように、wls:severityのレベルをCUSTOMに設定した後、次の子要素の1つ以上を使用して特定の重大度レベルを監査対象として有効化(trueに設定)または無効化(falseに設定)することもできます。

- wls:information-audit-severity-enabled: 重大度値がCUSTOMに設定された状態でこの子要素をtrueに設定すると、重大度レベルINFORMATIONのイベントの監査レコードがOracle CEPセキュリティ監査プログラムによって生成されます。

- wls:warning-audit-severity-enabled: 重大度値がCUSTOMに設定された状態でこの子要素をtrueに設定すると、重大度レベルWARNINGのイベントの監査レコードがOracle CEPセキュリティ監査プログラムによって生成されます。

- wls:error-audit-severity-enabled: 重大度値がCUSTOMに設定された状態でこの子要素をtrueに設定すると、重大度レベルERRORのイベントの監査レコードがOracle CEPセキュリティ監査プログラムによって生成されます。

- wls:success-audit-severity-enabled: 重大度値がCUSTOMに設定された状態でこの子要素をtrueに設定すると、重大度レベルSUCCESSのイベントの監査レコードがOracle CEPセキュリティ監査プログラムによって生成されます。

- wls:failure-audit-severity-enabled: 重大度値がCUSTOMに設定された状態でこの子要素をtrueに設定すると、重大度レベルFAILUREのイベントの監査レコードがOracle CEPセキュリティ監査プログラムによって生成されます。

5. security.xmlファイルを保存して閉じます。

6. 変更を有効にするために、Oracle CEPサーバーを再起動します。
1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

10.11 セキュリティの無効化

Oracle CEPサーバーのセキュリティを完全に無効化できます。開発環境ではこの構成が適切である可能性もありますが、本番環境でセキュリティを無効化することはお薦めしません。

セキュリティを一時的に無効化するには、コマンドラインからstartwlevs.cmdまたはstartwlevs.shスクリプトを-disablesecurity引数付きで実行します。例:

startwlevs.cmd -disablesecurity

注意:

サンプル・ドメインの一部では、startwlevs.cmdおよびstartwlevs.shのスクリプトにはすでに-disablesecurity引数が含まれています。そのようなスクリプトをコマンドライン上で-disablesecurityを使用して実行すると、「無効な引数」エラーによって失敗します。

11 Oracle CEP用のJettyの構成

この章は、Oracle Complex Event Processing (Oracle CEP)で使用するJettyの構成方法を、ネットワークI/Oの構成、ワーク・マネージャと、Jettyサーバー・インスタンスの構成を含めて説明します。

- 11.1項「Oracle Complex Event ProcessingでのJettyサポートの概要」

- 11.2項「Jettyサーバー・インスタンスの構成」

- 11.3項「Jetty構成の例」

11.1 Oracle Complex Event ProcessingでのJettyサポートの概要

Oracle CEPでは、HTTPサーブレットと静的リソースをデプロイするJava WebサーバーとしてJetty(http://www.mortbay.org/を参照してください)がサポートされています。

Oracle CEPでのJettyサポートは、バージョン1.2のOSGi HTTPサービスに基づいています。このAPIでは、実行時リソースと静的リソースにhttp://java.sun.com/products/servlet/docs.htmlオブジェクトを動的に登録および登録解除する機能が提供されます。この仕様には、JavaサーブレットAPIバージョン2.1以上が必要です。

Oracle CEPでは、Jettyの以下の機能をサポートします。

- 11.1.1項「サーブレット」

- 11.1.2項「ネットワークI/Oの統合」

- 11.1.3項「スレッド・プールの統合」

- 11.1.4項「Jettyワーク・マネージャ」

Jettyの構成の詳細は、11.2項「Jettyサーバー・インスタンスの構成」を参照してください。

11.1.1 サーブレット

Oracle CEPでは、一般的な(同期)Javaサーブレットをサポートするだけでなく、非同期サーブレットもサポートします。非同期サーブレットはリクエストを受信し、スレッドを取得して作業を実行します。また、最終的には、アクションの完了を待機している間に(別のスレッドを再取得するよりも前に)スレッドを解放し、レスポンスを送信します。

11.1.2 ネットワークI/Oの統合

Oracle CEPでは、ネットワークI/O (NetIO)を使用してJettyサービスのポートとリスニング・アドレスを構成します。

注意:

Jettyは多重化されたネットワークI/Oに対応した組込み機能を備えています。ただし、同一ポート上での複数のプロトコルはサポートされません。

11.1.3 スレッド・プールの統合

Oracle CEP Jettyサービスは、Oracle CEPワーク・マネージャを使用して、スケーラブルなスレッド・プーリングを可能にします。11.3項「Jetty構成の例」を参照してください。

注意:

JettyにはJetty独自のスレッド・プール機能が用意されています。ただし、処理コストおよび構成の複雑さを最小限に抑えるために、Oracle CEPの自動チューニング・スレッド・プールを使用することをお薦めします。

11.1.4 Jettyワーク・マネージャ

Oracle CEPでは、アプリケーションがどのような優先順位で作業を実行するかを構成できます。ユーザーが定義したルールと実際の実行時パフォーマンスのモニター結果に基づいて、アプリケーションのパフォーマンスが最適化され、サービス・レベル・アグリーメントが維持されます。ワーク・マネージャを定義して、アプリケーションに対してルールや制約を定義します。

この項では次の内容について説明します。

- 11.1.4.1項「Oracle CEPでのスレッド・プールの使用方法の理解」

- 11.1.4.2項「ワーク・マネージャの構成の理解」

詳細は、11.2.3項「work-manager構成オブジェクト」を参照してください。

11.1.4.1 Oracle CEPでのスレッド・プールの使用方法の理解

Oracle CEPでは、1つのスレッド・プールですべてのタイプの作業を実行します。作業の優先順位は、ユーザーが定義するルールと実行時のメトリックに基づいて決定されます。メトリックとしては、実際にリクエストを実行するのにかかった時間、リクエストをプールに出し入れする割合などがあります。

共通スレッド・プールのサイズは、スループットが最大になるように自動的に変更されます。キューは、スループットを長期間にわたってモニターし、その履歴に基づいてスレッド数を調整するかどうかを決定します。たとえば、スループットの統計値の履歴に基づき、スレッド数を増やすことでスループットが向上すると判断されると、スレッド数が自動的に増やされます。同様に、統計値に基づいてスレッドを減らしてもスループットが悪化しないと判断されると、スレッド数が自動的に減らされます。

11.1.4.2 ワーク・マネージャの構成の理解

Oracle CEPでは、定義済みのパラメータと実行時のパフォーマンスおよびスループットを考慮に入れた実行モデルに基づいて、作業の優先順位が決定されてスレッドが割り当てられます。

ユーザーは、一連のスケジューリング・ガイドラインを構成し、それらを1つまたは複数のアプリケーションに関連付けたり、特定のアプリケーション・コンポーネントに関連付けたりできます。たとえば、スケジューリング・ガイドラインのセットを1つのアプリケーションに関連付け、別のガイドラインのセットを別のアプリケーションに関連付けることができます。実行時には、これらのガイドラインに基づいて、保留中の作業やキューに入っているリクエストが実行スレッドに割り当てられます。

アプリケーション内の作業を管理するには、次のうち1つまたは複数のワーク・マネージャ・コンポーネントを定義します:

- fairshare: リクエストを処理するのに必要な平均スレッド使用時間を指定します。
たとえば、Oracle CEPで2つのモジュールを実行しているとします。ModuleAのワーク・マネージャではfairshareが80に指定されていて、ModuleBのワーク・マネージャではfairshareが20に指定されています。

各モジュールで切れ目なくリクエストを処理している状態(つまり、リクエスト数がスレッド数を超えている状態)が続く間は、スレッド使用時間の80%がModuleAに、20%がModuleBにそれぞれ割り当てられます。

注意:

フェア・シェア・リクエスト・クラスの値は、割合ではなく相対値で指定します。したがって、上の例でリクエスト・クラスを400と100に設定しても相対値としては同じです。

- max-threads-constraint: この制約は、制約対象の作業セットからのリクエストを実行する同時スレッドの数を制限します。デフォルトは無制限です。たとえば、最大スレッド数が10に定義された制約を3つのエントリ・ポイントで共有するとします。このスケジューリング・ロジックでは、組み合せた3つのエントリ・ポイントからのリクエストを10個以下のスレッドで実行します。
max-threads-constraintは、リクエストが依存するリソース(たとえば接続プール)の可用性の観点から定義できます。

max-threads-constraintは、リクエスト・クラスによるスレッドのフェア・シェアの実現やレスポンス時間の目標値の達成を妨げることがあります。いったん制約条件が満たされると、同時実行数が制限値を下回るまで、このタイプのリクエストはスケジューリングされません。制限値を下回ると、フェア・シェアまたはレスポンス時間の目標値に基づいて作業がスケジューリングされます。

- min-threads-constraint: この制約は、制約対象のリクエストに割り当てられるスレッド数を保証することでデッドロックを回避します。デフォルトはゼロです。min-threads-constraintの値を1に設定すると、ピアから同期的に呼び出されるレプリケーション更新リクエストなどの場合に便利です。
min-threads-constraintによってフェア・シェアが向上するとはかぎりません。このタイプの制約は、主にOracle CEPインスタンスがデッドロック状態に近づいたときに効果を発揮します。このような場合は、最近サービス・クラス内のリクエストがフェア・シェアを超えていた場合でも、この制約によってリクエストがスケジューリングされます。

11.2 Jettyサーバー・インスタンスの構成

Oracle CEPドメインを記述するconfig.xmlファイル内にJetty HTTPサーバーのインスタンスを構成するには、次の構成オブジェクトを使用します。

- jetty: 詳細は、11.2.1項「jetty構成オブジェクト」を参照してください。

- netio: 詳細は、11.2.2項「netio構成オブジェクト」を参照してください。

- work-manager: 詳細は、11.2.3項「work-manager構成オブジェクト」を参照してください。

- jetty-web-app: 詳細は、11.2.4項「jetty-web-app構成オブジェクト」を参照してください。

Jettyに影響を与えるセキュリティ構成タスクの詳細は、10.8.1項「Jettyセキュリティの構成」を参照してください。

詳細は、次を参照してください:

- 11.2.5項「Jetty対応サーブレットの開発」

- 11.2.6項「Webアプリケーション・デプロイメント」

- 11.3項「Jetty構成の例」

11.2.1 jetty構成オブジェクト

次の表に示すパラメータを使用して、config.xmlファイルにjetty構成オブジェクトを定義します。

表11-1 jetty要素の構成パラメータ

パラメータ

タイプ

説明

network-io-name

String

使用するNetIOサービスの名前。NetIOサービスは、サーバーがリスニングするポートを定義します。

詳細は、11.2.2項「netio構成オブジェクト」を参照してください。

work-manager-name

String

スレッド・プール用に使用するワーク・マネージャの名前。指定しない場合はデフォルトのワーク・マネージャが使用されます。

11.2.3項「work-manager構成オブジェクト」を参照してください。

scratch-directory

String

Webアプリケーション、JSPおよびその他のタイプのWebアーティファクトに必要な一時ファイルを保管するディレクトリの名前。

debug-enabled

boolean

JettyコードでOSGi Log Serviceを使用してデバッグ機能を有効にします。

name

String

jettyサーバー・インスタンスの名前。

11.2.2 netio構成オブジェクト

次の表に示すパラメータを使用して、config.xmlファイルにnetio構成オブジェクトを定義します。

表11-2 netio要素の構成パラメータ

パラメータ

タイプ

説明

name

String

この構成オブジェクトの名前。

port

int

リスニングするポート番号。

listen-address

String

netioサービスのインスタンスが着信接続をリスニングするアドレス。

- このパラメータは、a.b.c.d形式の数値IPアドレスまたはホスト名に設定できます。

- 設定しない場合は、すべてのネットワーク・インタフェースがリスニングされます。

このパラメータの値は、サービスが起動されるまで検証できません。

11.2.3 work-manager構成オブジェクト

次の表に示すパラメータを使用して、config.xmlファイルにwork-manager構成オブジェクトを定義します。

表11-3 work-manager要素の構成パラメータ

パラメータ

タイプ

説明

min-threads-constraint

Integer

このワーク・マネージャが使用する最小スレッド数。

fairshare

Integer

このワーク・マネージャが使用するフェア・シェア値。

max-threads-constraint

Integer

このワーク・マネージャが使用する最大スレッド数制約。

name

String

このワーク・マネージャの名前。

11.2.4 jetty-web-app構成オブジェクト

次の構成オブジェクトを使用して、Jettyが使用するWebアプリケーションを定義します。

表11-4 jetty-web-app要素の構成パラメータ

パラメータ

タイプ

説明

context-path

String

このWebアプリケーションのデプロイ先となるWebサーバーのネームスペースのコンテキスト・パス。

設定しない場合、デフォルトで「/」になります。

scratch-directory

String

JettyがこのWebアプリケーションの一時ファイルを保管する場所。

11.2項「Jettyサーバー・インスタンスの構成」のscratch-directoryパラメータをオーバーライドします。

path

String

サーバー上のWebアプリケーションの場所を指すファイル名。ディレクトリまたはWARファイルを指定できます。

jetty-name

String

このWebアプリケーションのデプロイ先のJettyサービス名。既存の11.2項「Jettyサーバー・インスタンスの構成」の名前と一致している必要があります。

name

String

この構成オブジェクトの名前。

11.2.5 Jetty対応サーブレットの開発

Oracle CEPでは、Jettyにデプロイするサーブレットの開発をサポートしています。標準のJava EE Webアプリケーションを作成し、11.2.4項「jetty-web-app構成オブジェクト」を使用してアプリケーションを構成します。

11.2.6 Webアプリケーション・デプロイメント

Oracle CEPでは、Java Servletバージョン2.4仕様に規定されているように、WARファイルまたは展開されたWARファイルのどちらでもパッケージのデプロイメントをサポートしています。

事前に構成されたWebアプリケーションをサーバーの構成に組み込むことによって、展開済ディレクトリまたはWARファイルからアプリケーションをデプロイできます。

標準のweb.xmlファイルに指定されたセキュリティ制約はCommon Security Servicesのセキュリティ・プロバイダにマップされます。サーブレットAPIでは、宣言型のロール・ベース・セキュリティを指定します。つまり、特定のURLパターンをセキュリティ・ロールにマップできます。

11.3 Jetty構成の例

config.xmlファイルの次のスニペットはJetty構成の例を提供します - Jettyに関連する構成情報のみを示します:

例11-1 Jetty構成の例

<config>
<netio>
<name>JettyNetIO</name>
<port>9002</port>
</netio>
<work-manager>
<name>WM</name>
<max-threads-constraint>64</max-threads-constraint>
<min-threads-constraint>3</min-threads-constraint>
</work-manager>
<jetty>
<name>TestJetty</name>
<work-manager-name>WM</work-manager-name>
<network-io-name>JettyNetIO</network-io-name>
<debug-enabled>false</debug-enabled>
<scratch-directory>JettyWork</scratch-directory>
</jetty>
<jetty-web-app>
<name>test</name>
<context-path>/test</context-path>
<path>testWebApp.war</path>
<jetty-name>TestJetty</jetty-name>
</jetty-web-app>
</config>

12 Oracle CEP用のJMXの構成

この章は、Oracle Complex Event Processing (Oracle CEP)で使用するJava Management Extensions (JMX)の構成方法を、データ・ソースの構成に関する情報と、MBeansへのアクセス、JMX構成オブジェクト、JMX APIを使用したプログラムによる接続と構成を含めて説明します。

- 12.1項「Oracle CEPにおけるJMXサポートの概要」

- 12.2項「JMXの構成」

- 12.3項「JMXによる管理」

12.1 Oracle CEPにおけるJMXサポートの概要

Oracle CEPでは、Java Management Extensions (JMX)仕様に完全に準拠した標準ベースのインタフェースが提供されます。ソフトウェア・ベンダーはこれらのインタフェースを使用して、Oracle CEP MBeanを監視し、Oracle CEPドメインの構成を変更できます。また、Oracle CEPアプリケーションを監視できます。

詳細は、次を参照してください:

- 12.1.1項「JMX構成の理解」

- 12.1.2項「JMX管理の理解」

12.1.1 JMX構成の理解

JMXおよびOracle CEP Mbeanを使用してOracle CEPアプリケーション、サーバー、ドメインを管理する前に、まずJMXサービスをOracle CEPサーバーで構成する必要があります。

Oracle CEPドメインを示すconfig.xmlファイルにある次の要素を使用してOracle CEP JMXサービスを構成します。

- jmx: 詳細は、12.2.1項「jmx構成オブジェクト」を参照してください。

- rmi: 詳細は、12.2.2項「rmi構成オブジェクト」を参照してください。

- jndi-context: 詳細は、12.2.3項「jndi-context構成オブジェクト」を参照してください。

- exported-jndi-context: 詳細は、12.2.4項「exported-jndi-context構成オブジェクト」を参照してください。

詳細は、12.2項「JMXの構成」を参照してください。

12.1.2 JMX管理の理解

Oracle CEPアプリケーションは、アダプタ、チャネル、プロセッサなどのコンポーネントで構成されたイベント処理ネットワーク(EPN)を定義します。これらのアプリケーションをドメイン内の起動済Oracle CEPインスタンスにデプロイします。

注意:

コンポーネントは「ステージ」と呼ばれることもあります(特に管理Javadocの場合)。ただし、他のOracle CEPドキュメントとの整合性を保つために、この項では「コンポーネント」という用語を使用します。

管理BeanまたはMBeansを使用してEPNの各コンポーネントを動的に構成できます。一般的な構成タスクとして、Oracle CQLまたはEPLルールの追加と削除、チャネル最大サイズの変更、通知へのサブスクライブ、様々な操作の実行といったタスクがあります。

次のいずれかを使用してMBeanを操作します:

- Oracle CEP Visualizer: Oracle CEPのグラフィカルな管理コンソール。
詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』を参照してください。

- wlevs.Admin: Oracle CEPのコマンドラインの管理ユーティリティ。
詳細は、付録A「wlevs.Adminコマンドライン・リファレンス」を参照してください。

- デプロイヤ: Oracle CEPのコマンドラインのデプロイメント・ユーティリティ。
詳細は、付録B「デプロイヤ・コマンドライン・リファレンス」を参照してください。

- jconsole: Java JDKが提供するJMXコンソール。

- 標準のJMX APIを使用した独自のJavaコード: http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement

この項では次の内容について説明します。

- 12.1.2.1項「Oracle CEP JMXサーバーへのアクセス」

- 12.1.2.2項「構成MBeanへのアクセス」

- 12.1.2.3項「Oracle CEPランタイムMBeanへのアクセス」

詳細は、次を参照してください:

- 12.1.3項「Oracle CEP MBeanの理解」

- 12.3項「JMXによる管理」

12.1.2.1 Oracle CEP JMXサーバーへのアクセス

Oracle CEP MBeanにアクセスするには、まずOracle CEP JMXサーバーに接続する必要があります。

Oracle CEPでは、JRMPプロトコルがサポートされていません。かわりに、JMXクライアントでは、Oracle CEP JMXサーバーにローカルおよびリモートからアクセスするために、よりセキュアなMSAプロトコルを使用する必要があります。

localhost上またはリモート・ホスト上で稼働するOracle CEP JMXサーバーに接続する場合、そのOracle CEPサーバーに接続するホストのクライアント・クラス・パスに、次のOracle CEPサーバーJARファイルをコピーする必要があります。

- ORACLE_CEP_HOME\modules\com.bea.core.jmx_8.0.0.0.jar

- ORACLE_CEP_HOME\modules\com.bea.core.rmi_7.0.0.0.jar

- ORACLE_CEP_HOME\modules\com.bea.core.jndi.context_8.0.0.0.jar

- ORACLE_CEP_HOME\modules\com.bea.core.logging_1.8.0.0.jar

- ORACLE_CEP_HOME\modules\com.bea.core.bootbundle_11.0.0.0.jar

ORACLE_CEP_HOMEはOracle CEP(例d:\oracle_home)がインストールされているディレクトリです。

次のコマンド・ライン・オプションおよびクラスパスを使用してJMXクライアント(jconsoleなど)を起動する必要があります(読みやすくするために区切ってありますが、実際にはコマンドは1行にする必要があります)。

prompt> 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_8.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 CEPサーバーJARファイルをコピーしたディレクトリです。

Oracle CEP JMXサーバーに接続する場合、常にMSAコネクタを使用するように、必ずJMX URL service:jmx:msarmi://HOST-NAME:port/jndi/jmxconnectorを使用する必要があります(HOST-NAMEはlocalhostまたはリモート・ホスト名で、portはOracle CEPサーバーのJNDIポートです)。

詳細は、次を参照してください:

- 12.3.1項「Oracle以外のCEPクライアントからOracle CEP JMXサーバーへのプログラムで接続する方法」

- 12.3.6項「セキュリティが無効なJconsoleでローカルまたはリモートOracle CEP JMXサーバーに接続する方法」

12.1.2.2 構成MBeanへのアクセス

MBeanを使用して、サーバー、ドメイン、およびデプロイ済みアプリケーションの一部の構成とアプリケーション・ライフ・サイクル管理を実行することもできますが、この節では主に個々のアプリケーション・コンポーネントの構成について説明します。ただし、サーバー、ドメイン、およびアプリケーションの構成もMBeanを使用して行うので、この節に示す情報の大部分があてはまります。

デプロイ済アプリケーション(アダプタ、チャネル、またはプロセッサ)の各コンポーネントには、基になるコンポーネントの構成を管理する構成MBeanが指定されています。コンポーネント・タイプごとに、管理可能な独自のアーティファクトがあります。たとえば、チャネルの最大スレッド数やプロセッサに関連付けられたOracle CQLルールを動的に構成できます。

12.1.2.3 Oracle CEPランタイムMBeanへのアクセス

ランタイムMBeanで、EPNの各コンポーネントに監視情報を収集することができます。監視情報にはスループット(イベントのコンポーネント通過数)と待機時間(イベントのコンポーネント通過時間)が含まれます。

12.1.3 Oracle CEP MBeanの理解

Oracle CEPでは以下のタイプのMBeanが公開されています。

- 構成MBean: EPNのコンポーネントの構成、デプロイ済Oracle CEPアプリケーション、サーバーおよびドメインの構成についての情報が含まれます。構成MBeanは固定の管理インタフェースを持ち、ドメインのconfig.xmlファイルおよびコンポーネントの構成XMLファイルに含まれている情報を表します。標準MBeanの例として、CQLProcessorMBeanやEventChannelMBeanがあります。

- ランタイムMBean: コンポーネントのスループットと待機時間についての情報が含まれます。

Oracle CEP MBeanおよび一般的な管理の詳細なリファレンスは、『Oracle Fusion Middleware Oracle Complex Event Processing Java APIリファレンス』の次に示すクラスを参照してください。

- com.bea.wlevs.management.configuration

- com.bea.wlevs.management.runtime

- com.bea.wlevs.monitor.management

- com.bea.wlevs.monitor

- com.bea.wlevs.processor.epl.management

- com.bea.wlevs.deployment.mbean

この項では次の内容について説明します。

- 12.1.3.1項「Oracle CEP構成MBean」

- 12.1.3.2項「Oracle CEPランタイムMBean」

- 12.1.3.3項「Oracle CEP MBeanの階層」

12.1.3.1 Oracle CEP構成MBean

Oracle CEPアプリケーションをデプロイすると、管理容易性が有効になっているEPNの各コンポーネント(つまり、EPNアセンブリ・ファイルに登録されている各コンポーネント)について、構成MBeanがサーバーによって自動的に作成されます。アダプタの構成を拡張した場合、アダプタ用のカスタム構成MBeanがデプロイされます。

JMXを使用すると、コンポーネントの構成MBeanを使用してコンポーネントを動的に構成できます。たとえば、StreamMBean.setMaxSize()メソッドを使用してチャネル・コンポーネントのサイズを設定できます。

12.1.3.1.1 構成MBeanのネーミング

Oracle CEP構成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=EPLProcessor,Application=myapplication

表12-1は、Oracle CEPがMBeanオブジェクト名にエンコードするキー・プロパティについて説明します。

表12-1 Oracle CEP MBeanオブジェクト名のキー・プロパティ

キー・プロパティ

指定する対象

Name=name

MBeanによって表されるリソースを作成したときに指定した文字列。通常はコンポーネントの名前です。

EPNアセンブリ・ファイル内に特定のコンポーネントの名前を指定するには、コンポーネント登録のid属性を使用します。

たとえばプロセッサの場合、EPNアセンブリ・ファイル内のエントリは次のようになります。

<wlevs:processor id="myprocessor" advertise="true" />

この場合、キー プロパティはName=myprocessorになります。

Type=type

MBeanのタイプの短縮名。短縮名はMBean接尾辞を付けない未修飾のタイプ名です。

たとえば、MBeanがCQLProcessorMBeanのインスタンスである場合は、CQLProcessorを使用します。この場合、キー・プロパティはType=CQLProcessorになります。

TypeOfParentMBean=NameOfParentMBean

親MBeanのタイプと名前を指定します。

コンポーネントの場合は、常にApplication=application_nameとなります。application_nameは、コンポーネントが属するアプリケーションの名前です。

特定のOracle CEPアプリケーションの名前は、アプリケーション・バンドルに含まれるMANIFEST.MFファイルのBundle-SymbolicNameヘッダーで指定します。たとえば、アプリケーションに次のようなMANIFEST.MFのスニペットが指定されている場合(関連する部分のみを示します):

Manifest-Version: 1.0
Archiver-Version:
Build-Jdk: 1.5.0_06
....
Bundle-SymbolicName: myapplication

この場合、キー・プロパティはApplication=myapplicationになります。

表12-2は、HelloWorldサンプルEPNアセンブリ・ファイルでのコンポーネント宣言に対応した構成MBeanオブジェクト名の例を示しています。個々の例で、アプリケーション名はhelloworldであり、ドメイン名はmydomainです。

表12-2 コンポーネント宣言の例および対応するMBeanオブジェクト名

EPNアセンブリ・ファイルでのコンポーネント宣言

対応する構成MBeanオブジェクト名

<wlevs:processor id="helloworldProcessor" />

com.bea.wlevs:Name=helloworldProcessor,Type=EPLProcessor,Application=helloworld,Domain=mydomain

EPLProcessorは、プロセッサ・コンポーネントの標準構成MBeanです。管理可能なプロパティはrulesです。

<wlevs:channel id="helloworldInstream">
<wlevs:listener ref="helloworldProcessor"/>
<wlevs:source ref="helloworldAdapter"/>
</wlevs:channel>

com.bea.wlevs:Name=helloworldInstream,Type=Channel,Application=helloworld,Domain=mydomain

Channelは、チャネル・コンポーネントの標準構成MBeanです。管理可能なプロパティはMaxSizeとMaxThreadsです。

12.1.3.2 Oracle CEPランタイムMBean

ランタイムMBeanで、EPNの各コンポーネントに監視情報を収集することができます。Oracle CEPサーバーは各コンポーネントで監視できる次のメトリクスを定義します。

- スループット - コンポーネントで処理されるイベント数。このメトリックのパラメータは、スループット時間間隔、集約時間間隔、間隔を表す時間の単位です。

- 平均待機時間 - イベントがコンポーネントまたは待機時間を通過するのにかかる平均時間。パラメータ: 集計時間間隔、その間隔の時間単位。

- 最大待機時間 - イベントがコンポーネントを通過するのにかかる最大時間。パラメータ: 集計時間間隔、その間隔の時間単位。

- 平均待機時間のしきい値 - コンポーネントの開始点と終了点の間のイベントの平均待機時間が指定されたしきい値を超えたかどうかを指定します。パラメータ:集約時間間隔、しきい値、間隔を表す時間の単位。

12.1.3.2.1 ランタイムMBeanのネーミング

ランタイムMBeanの命名には、構成MBeanと同じパターンが使用されDirectionというプロパティが1つ余分にあります。このプロパティには有効な値が2つあります。どの時点で統計を収集するかを指定するOUTBOUNDとINBOUNDです。OUTBOUNDは、指定したコンポーネントをイベントが離れたときにスループットと待機時間を収集することを示します。同様に、INBOUNDは、イベントがコンポーネントに入ったときに監視情報を収集することを示します。

たとえば、イベントがコンポーネントに入ったときにイベントを監視するアプリケーションmyapplicationにmyprocessorと呼ばれるプロセッサがある場合、そのプロセッサに対応するランタイムMBeanのオブジェクト名は次のようになります。

com.bea.wlevs:Name=myprocessor,Type=EPLProcessor,Application=myapplication,Direction=INBOUND

構成MBeanのネーミングの詳細は、12.1.3.1.1項「構成MBeanのネーミング」を参照してください。

12.1.3.3 Oracle CEP MBeanの階層

図12-1は、Oracle CEP MBeanツリーを表しています。

図12-1 Oracle CEP MBeanツリー

「図12-1 Oracle CEP MBeanツリー」の説明

すべてのMBeanは、タイプjavax.management.ObjectNameのオブジェクト名でMBeanサーバーに登録されている必要があります。Oracle CEPは、子MBeanのオブジェクト名が親MBeanオブジェクト名の一部を含むという規則に準拠します。

DomainMBeanおよびDomainRuntimeMBeanという主要な2つのMBeanルートがあります。前者にはドメイン全体の構成MBeanが含まれ、後者には、通常は単一のサーバー・インスタンスをスコープとするランタイム情報(統計など)とローカル・サービス(監視など)が含まれます。

ApplicationMBeanはDomainMBeanの子であり、ServerMBeanの子ではありません。アプリケーションはドメイン内で一意であり、複数のサーバーにまたがって実行できるためです。

図12-2は、オブジェクト・モデルを構成する主なクラスと関係を示しています。

図12-2 Oracle CEP MBeanオブジェクト・モデル

「図12-2 Oracle CEP MBeanオブジェクト・モデル」の説明

ほとんどのMBeanは通知を送信するエミッタであり、AttributeChangeNotificationsを生成します。つまり、JMXクライアントは、アプリケーション状態の変更、ドメインでのアプリケーションの挿入と削除、チャネル・サイズとスレッドの変更、ルールの挿入と削除などに関する属性変更通知を受け取るように登録できます。

12.2 JMXの構成

Oracle CEPドメインを記述するconfig.xmlファイルの、次の要素を使用してOracle CEP JMXサービスを構成します。

- jmx: 詳細は、12.2.1項「jmx構成オブジェクト」を参照してください。

- rmi: 詳細は、12.2.2項「rmi構成オブジェクト」を参照してください。

- jndi-context: 詳細は、12.2.3項「jndi-context構成オブジェクト」を参照してください。

- exported-jndi-context: 詳細は、12.2.4項「exported-jndi-context構成オブジェクト」を参照してください。

JMXに影響するセキュリティ構成タスクの詳細は、10.8.2項「JMXセキュリティの構成」を参照してください。

詳細は、次を参照してください:

- 12.1.1項「JMX構成の理解」

- 12.2.5項「JMX構成の例」

12.2.1 jmx構成オブジェクト

表12-3は、構成が必要とされるconfig.xmlファイルのjmx要素のリストを示しています。

表12-3 jmx要素の構成パラメータ

パラメータ

タイプ

説明

rmi-service-name

String

jmxサーバーが呼出しの受信のために登録するRMIサービス名。

jndi-service-name

String

jmxサーバーがオブジェクトをバインドするJNDIサービス名。

12.2.2 rmi構成オブジェクト

Oracle CEP RMIサービスには次の機能があります。

- クライアントからのリモート・メソッド呼出しのためにサーバーのPOJOインタフェースを登録する機能。

- リモート・メソッド呼出し時にクライアントからサーバーへのコンテキスト伝播が行われるように登録し、インターセプトして、サーバー内のこの伝播されたコンテキストを操作する機能。

表12-4は、リモート・クライアントへのサーバー側オブジェクトのエクスポートに使用するconfig.xmlファイルのrmi要素の子要素のリストを示しています。

表12-4 rmi要素の構成パラメータ

パラメータ

タイプ

説明

heartbeat-period

int

ハートビートの試行失敗回数。この回数を超えると、登録されているすべてのリスナーへの切断通知がトリガーされます。

http-service-name

String

リモート・オブジェクトの登録に使用するHTTPサービス名(たとえば、Jettyなど。詳細は、11.1項「Oracle Complex Event ProcessingのJettyサポートの概要」を参照してください)。

heartbeat-interval

int

ハートビートの間隔(ミリ秒単位)。

失敗したハートビートの試行回数がHeartbeatPeriodパラメータに指定した値に達すると、登録されているすべてのDisconnectListenerインスタンスが通知を受け取ります。

name

String

この構成オブジェクトの名前。

12.2.3 jndi-context構成オブジェクト

JNDIファクトリ・マネージャは、OSGi環境でJNDIをサポートする役割を果たします。これにより、JNDIプロバイダがOSGiバンドルとして提供され、OSGiバンドルの内部で実行されるコードからJNDI環境への完全なアクセスが可能になります。

ファクトリ・マネージャは、次の2つのコンポーネントで構成されています。

- OSGiバンドルはOSGi固有のファクトリ管理コードを提供し、適切なOSGiクラス・ローダーを使用してJNDIオブジェクトをルックアップします。

- JNDIの「グルー・コード」はOracle CEP内部で動作し、ファクトリ・マネージャ・バンドルをサポートできるようにJNDI環境を初期化します。

表12-5は、構成が必要とされるconfig.xmlファイル内のjndi-context要素の子要素のリストを示しています。

図12-5 jndi-context要素の構成パラメータ

パラメータ

タイプ

説明

default-provider

boolean

trueの場合、デフォルトのOracle CEP JNDIプロバイダが使用されます。

デフォルト値はtrueです。

name

String

この構成オブジェクトの名前。

12.2.4 exported-jndi-context構成オブジェクト

構成された12.2.3項「jndi-context構成オブジェクト」が必要です。

RMIを使用しているクライアントにリモートJNDIサービスをエクスポートするには、この構成オブジェクトを使用します。JNDIコンテキストをRMIサービスに登録することにより、InitialContextオブジェクトで、プロバイダURLのパラメータを渡すクライアントへのリモート・アクセスが提供されます。

表12-6は、構成が必要とされるconfig.xmlファイル内のexported-jndi-context要素の子要素のリストを示しています。

表12-6 exported-jndi-context要素の構成パラメータ

パラメータ

タイプ

説明

rmi-service-name

String

このJNDIコンテキストをネットワークで処理するために使用されるRMIサービスの名前。既存の<rmi>構成オブジェクトと一致する必要があります。詳細は、12.2.2項「rmi構成オブジェクト」を参照してください。

name

String

この構成オブジェクトの名前。

この要素の値は、同じconfig.xmlファイル内にある<jndi-context>の<name>子要素の値とは異なっている必要があります。

12.2.5 JMX構成の例

例12-1は、JMX構成に関するconfig.xmlのスニペットの例です - ファイルの関連する部分のみを示します。

例12-1 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>

12.3 JMXによる管理

この項では、次のように、JMXを使用したOracle CEPコンポーネントの管理の例を説明します。

- 12.3.1項「Oracle以外のCEPクライアントからOracle CEP JMXサーバーへのプログラムで接続する方法」

- 12.3.2項「Oracle CEPクライアントからOracle CEP JMXサーバーへプログラムで接続する方法」

- 12.3.3項「JMX APIを使用したOracle CEPコンポーネントをプログラムで構成する方法」

- 12.3.4項「JMX APIを使用したOracle CEPコンポーネントのスループットと待機時間をプログラムで監視する方法」

- 12.3.5項「セキュリティが有効な状態でJconsoleを使用してローカルまたはリモートOracle CEP JMXサーバーに接続する方法」

- 12.3.6項「セキュリティが無効なJconsoleでローカルまたはリモートOracle CEP JMXサーバーに接続する方法」

注意:

Jconsoleを使用する際、Oracle CEP wlevsjconsole.cmdまたはwlevsjconsole.shスクリプトで開始します。jconsoleを直接開始できません。

詳細は、次を参照してください:

- 12.1.1項「JMX構成の理解」

- 12.1.2項「JMX管理の理解」

12.3.1 Oracle以外のCEPクライアントからOracle CEP JMXサーバーへのプログラムで接続する方法

この項では、Oracle以外のCEPクライアントからOracle CEP JMXサーバーに接続する際のJMX API (http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement)を使用したJavaコードの記述方法を説明します。これはあらゆるプログラマチックJMX管理への最初のステップです。

Oracle CEP JMXサーバーに別のOracle CEPサーバーから接続する際の情報は、12.3.2項「Oracle CEPクライアントからOracle CEP JMXサーバーにプログラムで接続する方法」を参照してください。

Oracle以外のCEPクライアントからOracle CEP JMXサーバーにプログラムで接続するには:

1. 使用するドメインにJMXサービスを構成したことを確認します。
詳細は、12.2項「JMXの構成」を参照してください。

2. http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement Javaコードを記入し、適切なMBeanでコンポーネントを構成します。
次のJMXのプログラミングのヒントを考慮します。

例12-2で示すように、JMXプログラムでは、まずOracle CEPサーバーで実行中のJMXサーバーへの接続を確立します。

例12-2 Oracle CEP JMXサーバーへの接続の確立

public static void initConnection(String hostname, int port, String username, char[] password)
throws IOException,MalformedURLException {

Map<String,Object> env = makeSecureEnv();
env.put("jmx.remote.protocol.provider.pkgs","com.bea.core.jmx.remote.provider");
env.put("mx4j.remote.resolver.pkgs","com.bea.core.jmx.remote.resolver");
env.put("java.naming.factory.initial","com.bea.core.jndi.context.ContextFactory");

JMXServiceURL serviceUrl = new JMXServiceURL(
"MSARMI","localhost",9002,"/jndi/jmxconnector"
);

System.out.println("Service: " + serviceURL.toString());

JMXConnector connector = JMXConnectorFactory.connect(serviceUrl,env);

MBeanServerConnection connection = connector.getMBeanServerConnection();
}

// The JMXConnectorFactory.connect() method's second parameter is a Map object that sets up a
// secure environment using the makeSecureEnv() method, which looks like the following:

private static Map<String,Object> makeSecureEnv() {
Map<String,Object> env = new HashMap<String,Object>();
String username = "wlevs" ;
char[] password = { 'w','l','e','v','s' };
env.put(JMXConnector.CREDENTIALS, new Serializable[]{username,password});
env.put("jmx.remote.authenticator", "com.bea.core.jmx.server.CEAuthenticator");
System.setProperty("jmx.remote.authenticator", "com.bea.core.jmx.server.CEAuthenticator");
return env;
}

12.3.2 Oracle CEPクライアントからOracle CEP JMXサーバーへプログラムで接続する方法

この項では、Oracle CEP JMXサーバーに、別のOracle CEPサーバーから接続する際の、JMX API (http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement)を使用したJavaコードの記述方法を説明します。これはあらゆるプログラマチックJMX管理への最初のステップです。

Oracle CEP JMXサーバーに別のOracle以外のCEPクライアントから接続する際の情報は、12.3.1項「Oracle以外のCEPクライアントからOracle CEP JMXサーバーへのプログラムで接続する方法」を参照してください。

Oracle CEPクライアントからOracle CEP JMXサーバーにプログラムで接続には:

1. 使用するドメインにJMXサービスを構成したことを確認します。
詳細は、12.2項「JMXの構成」を参照してください。

2. http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement Javaコードを記入し、適切なMBeanでコンポーネントを構成します。
次のJMXのプログラミングのヒントを考慮します。

例12-2で示すように、JMXプログラムでは、まずOracle CEPサーバーで実行中のJMXサーバーへの接続を確立します。

例12-3 Oracle CEP JMXサーバーへの接続の確立

public static void initConnection(String hostname, int port, String username, char[] password)
throws IOException,MalformedURLException {

Map<String,Object> env = makeSecureEnv();

// This is an OSGi necessity
env.put(
JMXConnectorFactory.DEFAULT_CLASS_LOADER,
com.bea.core.jmx.remote.provider.msarmi.ServerProvider.class.getClassLoader()
);
env.put(
JMXConnectorFactory.PROTOCOL_PROVIDER_CLASS_LOADER,
com.bea.core.jmx.remote.provider.msarmi.ServerProvider.class.getClassLoader()
);

JMXServiceURL serviceUrl = new JMXServiceURL(
"MSARMI","localhost",9002,"/jndi/jmxconnector"
);

System.out.println("Service: " + serviceURL.toString());

env.put(
JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,
"com.bea.core.jmx.remote.provider"
);

System.setProperty("mx4j.remote.resolver.pkgs", "com.bea.core.jmx.remote.resolver");

JMXConnector connector = JMXConnectorFactory.connect(url, env);
connector.connect();

MBeanServerConnection connection = connector.getMBeanServerConnection();
...
}

// The JMXConnectorFactory.connect() method's second parameter is a Map object that sets up a
// secure environment using the makeSecureEnv() method, which looks like the following:

private static Map<String,Object> makeSecureEnv() {
Map<String,Object> env = new HashMap<String,Object>();
String username = "wlevs" ;
char[] password = { 'w','l','e','v','s' };
env.put(JMXConnector.CREDENTIALS, new Serializable[]{username,password});
env.put("jmx.remote.authenticator", "com.bea.core.jmx.server.CEAuthenticator");
System.setProperty("jmx.remote.authenticator", "com.bea.core.jmx.server.CEAuthenticator");
return env;
}

12.3.3 JMX APIを使用してOracle CEPコンポーネントをプログラムで構成する方法

この項では、Oracle CEP MBeanにアクセスする際の、JMX API (http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement)を使用したJavaコードの記述方法を説明します。

JMX APIを使用してOracle CEPコンポーネントをプログラムで構成するには:

1. Oracle CEP JMXサーバーへの接続を取得します。
詳細は、12.3.1項「Oracle以外のCEPクライアントからOracle CEP JMXサーバーにプログラムで接続する方法」を参照してください。

2. http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement Javaコードを記入し、適切なMBeanでコンポーネントを構成します。
次のJMXのプログラミングのヒントを考慮します。

例12-4では、MBeanへの問合せによって、ドメインとドメインのデプロイ済アプリケーションについての情報の取得を開始する方法が示されています。

最初に、タイプがDomainであるすべてのMBeanを取得する方法が示されています。そのようなMBeanは1つのみです。次に、DomainMBeanを使用して、ドメインにデプロイされているすべてのアプリケーションのリストを取得する方法が示されています(ApplicationMBeanを使用)。

例12-4 MBeanへの問合せ

Set domainObjectNames = connection.queryMBeans(
ObjectName.getInstance(
ManagementConstants.DOMAIN_NAME + ":" +
ManagementConstants.TYPE_PROPERTY + "=" +
DomainMBean.MBEAN_TYPE + ",*"
),
null
);
ObjectName domainName =  ((ObjectInstance) domainObjectNames.iterator().next()).getObjectName();
System.out.println("Domain Name: " + domainName.getKeyProperty(ManagementConstants.NAME_PROPERTY));
ObjectName [] applicationNames =
(ObjectName[]) connection.getAttribute(domainName, "ApplicationMBeans");
ObjectName selectedApplicationObjectName = null ;
for (ObjectName applicationName : applicationNames) {
String name =
applicationName.getKeyProperty(ManagementConstants.NAME_PROPERTY);
String status =
(String) connection.getAttribute(applicationName, "State");
System.out.println("Application: " + name + " Status: " + status);
selectedApplicationObjectName = applicationName ;
}

12.3.4 JMX APIを使用してOracle CEPコンポーネントのスループットと待機時間をプログラムで監視する方法

この項では、Oracle CEP MBeanにアクセスしてOracle CEPコンポーネントのスループットと待機時間を動的に監視する場合のJMX API (http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement)を使用したJavaコードの記述方法を説明します。

JMX APIを使用してOracle CEPコンポーネントを動的に構成するには:

1. Oracle CEP JMXサーバーへの接続を取得します。
詳細は、12.3.1項「Oracle以外のCEPクライアントからOracle CEP JMXサーバーにプログラムで接続する方法」を参照してください。

2. 例12-5で示すように監視するコンポーネントにはMonitorRuntimeMBeanのインスタンスを取得します。

例12-5 MonitorRuntimeMBeanのインスタンスの取得

ObjectName processorInbound = ObjectName.getInstance(
"com.bea.wlevs:Name=myprocessor," +
"Type=CQLProcessor," +
"Application=myapplication," +
"Direction=INBOUND"
);

着信イベント(INBOUND)または発信イベント(OUTBOUND)のどちらを監視するのかを必ず指定します。例:

3. 例12-6で示すように統計のタイプに応じてMonitorRuntimeMBeanを使用して、ProbeRuntimeMBeanのインスタンスを取得します。

例12-6 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を返します。

4. ProbeRuntimeMbeanのインスタンスを使用して、実際の実行時メトリックを取得するには次のいずれかの方法があります。

1. ProbeRuntimeMBeanのgetMetric()メソッドを使用して情報を取得します。

2. javax.management.NotificationBroadcaster.addNotificationListener()を使用して、メトリックに変更があるたびに送信される情報を取得します。

5. 監視情報の収集が完了したら、例12-7で示すようにMBeanサーバーからMBeanを登録解除します。

例12-7 MBeanの登録解除

probON.terminate();

これらのMBeanインタフェースの詳細、およびこれらのMBeanインタフェースを使用してスループットと待機時間を監視する方法については、『Oracle Fusion Middleware Oracle Complex Event Processing Java APIリファレンス』のcom.bea.wlevs.monitor.managementパッケージを参照してください。

12.3.5 セキュリティが有効なJconsoleを使用してローカルまたはリモートOracle CEP JMXサーバーに接続する方法

wlevsjconsoleスクリプトを使用して、ローカル・ホストまたはリモート・ホストで実行されているOracle CEP JMXサーバーに接続し、JDK jconsoleでOracle CEP MBeanのブラウズと管理ができます。

この方法は、Oracle CEPサーバーのセキュリティが有効の場合、Jconsoleをどのように使用するかを説明します。これはデフォルトの構成であり、本番サーバーで使用することはお薦めします。かわりに、セキュリティが無効なJMXサーバーに接続できます。(詳細は、12.3.6項「セキュリティが無効な状態でJconsoleを使用してローカルまたはリモートOracle CEP JMXサーバーに説億する方法」を参照してください。)

詳細は、12.1.2.1項「Oracle CEP JMXサーバーへのアクセス」を参照してください。

注意:

Jconsoleを使用する際、Oracle CEP wlevsjconsole.cmdまたはwlevsjconsole.shスクリプトで開始します。jconsoleを直接開始できません。

セキュリティが有効のJconsoleを使用してローカルまたはリモートのOracle CEP JMXサーバーに接続するには:

1. ローカルまたはリモートOracle CEPサーバーを実行したことを確認します。

2. コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項を参照してください。

3. ORACLE_CEP_HOME/ocep_11.1/binディレクトリのwlevsjconsole.cmdまたはwlevsjconsole.shスクリプトを使用してjconsoleを起動します。ここではORACLE_CEP_HOMEはOracle CEP (例/oracle_home)がインストールされたディレクトリを参照します。

1. ローカルOracle CEPサーバーに接続するには次を入力します。

prompt> wlevsjconsole.cmd

2. リモートOracle CEPサーバーに接続するには次を入力します。

prompt> wlevsjconsole.cmd HOST-NAME:PORT

HOST-NAMEはリモート・ホストの名前、PORTはNetIOポートで、リモート・ホストのORACLE_CEP_HOME/user_projects/domains/DOMAIN-NAME/defaultserver/config/config.xmlファイル中に構成されています。

jconsoleブラウザはJMXサーバーへログインをしようとしますが、図12-3で示すように最初に失敗します。

図12-3 Jconsole初回ログイン試行

「図12-3 Jconsole初回ログイン試行」の説明

4. 「取消」をクリックします。
図12-4で示すように、Jconsole:「新しい接続」ダイアログが表示されます。

図12-4 Jconsoleの新しい接続ダイアログ

「図12-4 Jconsole:「新しい接続」ダイアログ」の説明

5. 表12-7で説明するように「新しい接続」ダイアログを構成します。

表12-7 Jconsole新しい接続属性

属性

説明

リモート・プロセス

以下のURLを入力します:

service:jmx:msarmi://HOST-NAME:PORT/jndi/jmxconnector

HOST-NAMEはローカル・ホストまたはリモート・ホストの名前、PORTはNetIOポートで、リモート・ホストのORACLE_CEP_HOME/user_projects/domains/DOMAIN-NAME/defaultserver/config/config.xmlファイル中に構成されています(デフォルト: 9002)。

「ユーザー名」

Oracle CEP管理パスワードを入力します。

デフォルト: wlevs。

「パスワード」

選択したOracle CEP管理パスワードを入力します。

デフォルト: wlevs。

6. 「接続」をクリックします。
jconsoleブラウザが開くと、図12-6で示すようにOracle CEP MBeanにアクセスできます。

図12-5 Jconsoleブラウザ

「図12-5 JConsoleブラウザ」の説明

12.3.6 セキュリティが無効なJconsoleを使用してローカルまたはリモートOracle CEP JMXサーバーに接続する方法

wlevsjconsoleスクリプトを使用して、ローカル・ホストまたはリモート・ホストで実行されているOracle CEP JMXサーバーに接続し、JDK jconsoleでOracle CEP MBeanのブラウズと管理ができます。

この手順は、Oracle CEPサーバーのセキュリティが無効の場合のJconsoleの使用方法を説明します。これは共通の開発構成でり、本番サーバーで使用することはお薦めしません。かわりに、セキュリティが有効なJMXサーバーに接続できます(詳細は、12.3.5項「セキュリティが有効な状態でJconsoleを使用してローカルまたはリモートOracle CEP JMXサーバーに接続する方法」を参照してください)。

詳細は、12.1.2.1項「Oracle CEP JMXサーバーへのアクセス」を参照してください。

注意:

Jconsoleを使用する際、Oracle CEP wlevsjconsole.cmdまたはwlevsjconsole.shスクリプトで開始します。jconsoleを直接開始できません。

セキュリティが無効のJconsoleを使用してローカルまたはリモートのOracle CEP JMXサーバーに接続するには:

1. セキュリティが無効の状態でローカルまたはリモートのOracle CEPサーバーを実行します。
詳細は、10.11項「セキュリティの無効化」を参照してください。

2. コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項を参照してください。

3. ORACLE_CEP_HOME/ocep_11.1/binディレクトリのwlevsjconsole.cmdまたはwlevsjconsole.shスクリプトを使用してjconsoleを起動します。ここではORACLE_CEP_HOMEはOracle CEP (例/oracle_home)がインストールされたディレクトリを参照します。

1. ローカルOracle CEPサーバーに接続するには次を入力します。

prompt> wlevsjconsole.cmd

2. リモートOracle CEPサーバーに接続するには次を入力します。

prompt> wlevsjconsole.cmd HOST-NAME:PORT

HOST-NAMEはリモート・ホストの名前、PORTはNetIOポートで、リモート・ホストのORACLE_CEP_HOME/user_projects/domains/DOMAIN-NAME/defaultserver/config/config.xmlファイル中に構成されています。

スクリプトが自動的にJMXサーバーに接続し、jconsoleブラウザが開くと、図12-6で示すようにOracle CEP Mbeanにアクセスできます。

図12-6 Jconsoleブラウザ

「図12-6 JConsoleブラウザ」の説明

13 Oracle CEPで使用するJDBCの構成

この章は、Oracle Complex Event Processing (Oracle CEP)で使用するJava Database Connectivity (JDBC)の構成方法を、データ・ソースの構成に関する情報と、Oracleおよびタイプ4データ・ダイレクトJDBCドライバの使用に関する情報を含めて説明します。

- 13.1項「Oracle CEPアプリケーションからのデータベース・アクセスの概要」

- 13.2項「Oracle CEPデータ・ソースの説明」

- 13.3項「Oracle JDBCドライバを使用したデータベースへのアクセスの構成」

- 13.4項「DataDirectのType 4 JDBCドライバを使用したデータベースへのアクセスの構成」

- 13.5項「別のデータベース・ドライバまたはドライバのバージョンへのアクセスの構成」

13.1 Oracle CEPアプリケーションからのデータベース・アクセスの概要

Oracle CEPでは、リレーショナル・データベースへのアクセスのために(http://java.sun.com/products/jdbc/download.html#corespec30を参照してください) Java Database Connectivity (JDBC) 3.0がサポートされています。

JDBC API (http://java.sun.com/javase/technologies/database/index.jspを参照してください)では、APIをサポートするデータベース・サーバーや他のタイプの表形式リソースに接続し相互作用するための、ベンダーに依存しない標準的なメカニズムが提供されます。JDBC javax.sql.DataSourceインタフェースは、ドライバで実装されるデータベース接続ファクトリを指定します。DataSourceオブジェクトのインスタンスは、アプリケーションがデータベース接続(java.sql.Connectionのインスタンス)を取得するために使用されます。接続が取得されると、アプリケーションはSQLコマンドを送信し、結果を受信することで、リソースと相互作用します。

Oracle CEPでは、次のJDBCドライバが提供されます。

- Oracle 11.2 thinドライバ(13.1.1項「Oracle JDBCドライバ」を参照してください)

- DataDirectのSQL Server Type 4 JDBCドライバ(13.1.2項「SQL Server用のDataDirectのType 4 JDBCドライバ」を参照してください)

オプションで、独自のJDBCドライバを使用できます(13.5.3項「bootclasspathを使用したデータベース・ドライバへのアクセス方法」を参照してください)。

Oracle CEPでは、JDBCドライバDataSourceオブジェクトをカプセル化し、あらかじめ決められた接続のプールを管理するDataSource分離も提供されます。Oracle WebLogic Server WLConnectionインタフェースでは、Oracleデータ・ソースへのアクセスおよび操作に役立つ方法が提供されます。詳細は、13.2項「Oracle CEPデータ・ソースの説明」を参照してください。

13.1.1 Oracle JDBCドライバ

Oracle CEPには、次のJARファイルにパッケージされたOracle 11.2 Thinドライバが含まれます。

- ORACLE_CEP_HOME/modules/com.bea.oracle.ojdbc5_1.0.0.0_11-2-0-0.jar: Java SE 5で使用する場合。

- ORACLE_CEP_HOME/modules/com.bea.oracle.ojdbc6_1.0.0.0_11-2-0-0.jar: Java SE 6で使用する場合。

JDBC Thinドライバは、pure JavaのType IVドライバで、アプリケーションおよびアプレットで使用できます。プラットフォームに依存せず、クライアント側に追加のOracleソフトウェアは必要ありません。JDBC Thinドライバは、Oracle DatabaseにアクセスするためにSQL*Netを使用してサーバーと通信します。

詳細は、次を参照してください:

- 13.1.3.1項「Oracle JDBCドライバでサポートされるデータベース」

- 13.3項「Oracle JDBCドライバを使用したデータベースへのアクセスの構成」

- http://www.oracle.com/technology/tech/java/sqlj_jdbc/index.html

13.1.2 DataDirectのSQL Server用のType 4 JDBCドライバ

Oracle CEPでは、SQL ServerデータベースへのJDBCアクセスのパフォーマンスを高めるDataDirectのタイプ4 JDBCドライバが提供されます。タイプ4 JDBCドライバはJava環境にあわせて最適化されているので、Javaテクノロジを組み込んだり、既存システムの機能およびパフォーマンスを拡張したりできます。

DataDirectのOracle CEPタイプ4 JDBCドライバは、以下のような特長を持つ実績のあるドライバです。

- パフォーマンス指向のエンタープライズ向け機能をサポート(分散トランザクション、SavePoint、複数のオープン結果セット、パラメータ・メタデータなど)。

- Java EE Compatibility Test Suite (CTS)で認定済み。業界最大のJDBCテスト・スイートにより検証済みです。

- JDBCアプリケーションのテストおよびデバッグ用ツールを装備。

詳細は、次を参照してください:

- 13.1.3.2項「DataDirectのSQL Server用のType 4 JDBCドライバでサポートされるデータベース」

- 13.4項「DataDirectのType 4 JDBCドライバを使用したデータベースへのアクセスの構成」

13.1.3 サポートされるデータベース

Oracle CEPサーバーでは、使用するJDBCドライバのタイプによって、異なるデータベースがサポートされます。

- 13.1.3.1項「Oracle JDBCドライバでサポートされるデータベース」

- 13.1.3.2項「DataDirectのSQL Server用のType 4 JDBCドライバでサポートされるデータベース」

13.1.3.1 Oracle JDBCドライバでサポートされるデータベース

Oracle JDBCドライバを使用して、次のOracleデータベースにアクセスできます。

- Oracleデータベース11gリリース2 (11.2)

詳細は、13.1.1項「Oracle JDBCドライバ」を参照してください。

13.1.3.2 DataDirectのSQL Server用のType 4 JDBCドライバでサポートされるデータベース

DataDirectのSQL Serverタイプ4 JDBCドライバを使用して、次のSQL Serverデータベースにアクセスできます。

- Microsoft SQL Server 2005

- Microsoft SQL Server 2000

- Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)

- Microsoft SQL Server 2000 Enterprise Edition (64ビット)

- Microsoft SQL Server 7.0

詳細は、13.1.2項「DataDirectのSQL Server用のType 4 JDBCドライバ」を参照してください。

13.2 Oracle CEPデータ・ソースの説明

Oracle CEP DataSourceは、Java Database Connectivity (JDBC 3.0)仕様をサポートするJDBCデータ・ソース接続プールの実装を提供します。アプリケーションでは、標準APIのDataSource.getConnectionとConnection.closeを使用して、データ・ソースにあるConnectionオブジェクトの予約と解放を行います。

図13-1は、データ・ソース、接続プールおよびConnectionインスタンス間の関係を示します。

図13-1 Oracle CEPデータ・ソース

「図13-1 Oracle CEPデータ・ソース」の説明

リレーショナル・データベースにアクセスする場合は、Oracle CEPサーバーのデフォルトのデータ・ソースを使用するかサーバーのconfig.xmlファイルで独自のOracle CEP DataSourceを構成します。

- Oracle CQLプロセッサのルールの場合
『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のOracle CQLプロセッサの表ソースの構成に関する項を参照してください。

- EPLプロセッサのルールの場合。
『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のEPLプロセッサの構成に関する項を参照してください。

- イベントの記録と再生
『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』の永続イベント・ストアへのイベントの保存に関する項を参照してください。

- キャッシュ・ローダーまたはストアの場合
次を参照してください。

- 『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のOracle CEPローカル・キャッシュ・ストアの構成に関する項を参照してください。

- 『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のOracleコヒーレンス・キャッシュ・ローダーまたはストアの構成に関する項を参照してください。

DriverManagerなどのJDBCドライバのAPIをアプリケーション・コードで直接使用する場合、サーバーのconfig.xmlファイルにDataSourceを構成する必要はありません。

詳細は、次を参照してください:

- 13.2.1項「デフォルトのデータ・ソースの構成」

- 13.2.2項「カスタム・データ・ソースの構成」

13.2.1 デフォルト・データ・ソースの構成

デフォルトでは、Oracle CEPサーバーがローカルのトランザクション・マネージャを作成します。12.2.2項「rmi構成オブジェクト」の説明のように、トランザクション・マネージャは構成されたRMIオブジェクトに依存します。Oracle CEPサーバーはシステムに複数のトランザクション・マネージャ・インスタンスが存在しないことを保証します。

Oracle CEPサーバーの起動時にデータベースが使用できない場合、デフォルトで、Oracle CEPサーバー・データ・ソースは接続が作成できるまで10秒ごとに再試行します。この結果、Oracle CEPサーバーは、データベースが使用できない場合も、正常に起動されます。connection-pool-params要素connection-creation-retry-frequency-seconds子要素を使用してOracle CEPサーバーconfig.xmlファイルでの再試行の間隔を変更することができます。この要素の値をゼロに設定すると、接続の再試行が無効になります。

詳細は、13.2.2項「カスタム・データ・ソースの構成」を参照してください。

13.2.2 カスタム・データ・ソースの構成

Oracle CEPサーバーのconfig.xmlファイルでは、実行時に作成されるデータ・ソースごとに、外部JDBCモジュール記述子を参照する構成要素が必要です。

この項では、カスタム・データ・ソースを構成する方法を説明します。デフォルト・データ・ソースの構成の詳細は、13.2.1項「デフォルト・データ・ソースの構成」を参照してください。

構成ウィザードを使用してOracle CEPドメインを作成する場合は、必要に応じて、DataDirectの2つのJDBCドライバのいずれかを使用するJDBCデータ・ソースを構成できます(この構成を行った場合は自動的にconfig.xmlファイルが更新されます)。接続先データベース、接続ユーザー名とパスワードなどの基本情報を指定してデータ・ソースを構成します。構成ウィザードを使用してドメインの既存のサーバーを更新し、新しいデータ・ソースを追加することもできます。

詳細は、次を参照してください:

- 『Oracle Fusion Middleware Oracle Complex Event Processing管理者ガイド』のOracle CEPスタンドアロンサーバー・ドメインの作成と更新に関する項

- 『Oracle Fusion Middleware Oracle Complex Event Processing管理者ガイド』のOracle CEPマルチサーバー・ドメインの作成と更新に関する項

また、例13-1で示すように、data-source要素を追加してconfig.xmlファイルを手動で更新することもできます。

例13-1 Oracle CEPサーバーconfig.xmlでのカスタム・データ・ソースの構成

<data-source>
<name>rdbms</name>
<data-source-params>
<global-transactions-protocol>None</global-transactions-protocol>
</data-source-params>
<connection-pool-params>
<test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
<initial-capacity>5</initial-capacity>
<max-capacity>10</max-capacity>
<connection-creation-retry-frequency-seconds>
60
</connection-creation-retry-frequency-seconds>
</connection-pool-params>
<driver-params>
<url>jdbc:oracle:thin:@localhost:5521:rdb</url>
<driver-name>oracle.jdbc.OracleDriver</driver-name>
<properties>
<element><name>user</name><value>scott</value></element>
<element><name>password</name><value>tiger</value></element>
</properties>
<use-xa-data-source-interface>true</use-xa-data-source-interface>
</driver-params>
</data-source>
<transaction-manager>
<name>TM</name>
<rmi-service-name>RMI</rmi-service-name>
</transaction-manager>

データ・ソースは、ローカル・トランザクション・マネージャの可用性に依存します。デフォルトのOracle CEPサーバー・トランザクション・マネージャに依存するか、config.xmlのtransaction-manager要素を使用して構成できます。例13-1を参照してください。一方、トランザクション・マネージャは、構成されたRMIオブジェクトに依存します。12.2.2項「rmi構成オブジェクト」を参照してください。

Oracle CEPサーバーの起動時にデータベースが使用できない場合、デフォルトで、Oracle CEPサーバー・データ・ソースは接続が作成できるまで10秒ごとに再試行します。この結果、Oracle CEPサーバーは、データベースが使用できない場合も、正常に起動されます。例13-1に、connection-pool-params要素connection-creation-retry-frequency-seconds子要素を使用してOracle CEPサーバーconfig.xmlファイルでの再試行の間隔を変更する方法を示します。この要素の値をゼロに設定すると、接続の再試行が無効になります。

data-source要素の子要素の詳細なリスト(特に、connection-pool-paramsおよびdata-source-params要素)は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のサーバー構成XSDスキーマ: wlevs_server_config.xsdに関する項を参照してください。

JDBCに影響するセキュリティ構成タスクの詳細は、10.8.3「JDBCセキュリティの構成」を参照してください。

13.2.3 ネイティブJDBC接続の取得

『Oracle Fusion Middleware Oracle WebLogic Server APIリファレンス』は、Oracleデータ・ソースの取得および操作に役立つ方法を含むWLConnectionインタフェースを提供します。たとえば、次のJavaコードは、プールされた接続オブジェクトからネイティブOracleデータベース接続を取得します。

private DataSource ods;
private Connection wlConnection;
private OracleConnection connection;

wlConnection = ods.getConnection();
connection = (OracleConnection) ((WLConnection) wlConnection)
.getVendorConnection();

注意:

プールされた接続を使用して作業が完了したら必ず閉じ、プールされた接続を閉じた後でネイティブ接続オブジェクトを使用しないでください。

13.3 Oracle JDBCドライバを使用したデータベースへのアクセスの構成

Oracle JDBCドライバはOracle CEPで自動的にインストールされて使用可能です。詳細は、13.1.1項「Oracle JDBCドライバ」を参照してください。

Oracle JDBCドライバを使用してデータベースへのアクセスを構成するには:

1. サーバーのconfig.xmlファイルでデータ・ソースを構成します。

1. 構成ウィザードを使用してOracle CEPサーバーconfig.xmlファイルを更新する場合、『Oracle Fusion Middleware Oracle Complex Event Processing管理者ガイド』のOracle CEPスタンドアロンサーバー・ドメインの作成と更新に関する項を参照してください。

2. Oracle CEPサーバーconfig.xmlファイルを手動で更新する場合、13.2.2項「カスタムのデータ・ソースの構成」を参照してください。

注意:

Oracle JDBCドライバのurl要素は次の形式です。

<url>jdbc:oracle:thin:@HOST:PORT:SID</url>

2. Oracle CEPが実行中の場合は、新しいデータ・ソース情報を読み込むために再起動します。
詳細は、1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

13.4 Data DirectのType 4 JDBCドライバを使用したデータベースへのアクセスの構成

SQL Server用のDataDirectのType 4 JDBCドライバはOracle CEPで自動的にインストールされ使用可能です。詳細は、13.1.2項「SQL Server用のDataDirectのType 4 JDBCドライバ」を参照してください。

Data Directのタイプ4 JDBCドライバを使用したデータベースへのアクセスを構成するには:

1. サーバーのconfig.xmlファイルでデータ・ソースを構成します。

1. 構成ウィザードを使用してOracle CEPサーバーconfig.xmlファイルを更新する場合、『Oracle Fusion Middleware Oracle Complex Event Processing管理者ガイド』のOracle CEPスタンドアロンサーバー・ドメインの作成と更新に関する項を参照してください。

2. Oracle CEPサーバーconfig.xmlファイルを手動で更新する場合、13.2.2項「カスタムのデータ・ソースの構成」を参照してください。

注意:

DataDirectのタイプ4 JDBCドライバのurl要素は次の形式です。

<url>jdbc:weblogic:sqlserver://HOST:PORT</url>

2. Oracle CEPが実行中の場合は、新しいデータ・ソース情報を読み込むために再起動します。
詳細は、1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

13.5 別のデータベース・ドライバまたはドライバのバージョンへのアクセスの構成

必要に応じて、Oracle CEPにバンドルされているバージョン以外のOracleデータベース・ドライバまたはデータ・ダイレクト・ドライバのバージョン、またはOracleデータベース・ドライバまたはデータ・ダイレクト・ドライバ以外のデータベース・ドライバを使用する必要がある場合があります。

ここでは、以下の項目について説明します。

- 13.5.1項「bundler.shを使用して構築されるアプリケーション・ライブラリを使用したデータベース・ドライバへのアクセス方法」: この方法をお薦めします。データベース・ドライバに対してOSGiバンドルを作成する必要があります。

- 13.5.2項「Oracle CEP IDE for Eclipseを使用して構築されるアプリケーション・ライブラリを使用したデータベース・ドライバへのアクセス方法」: この方法をお薦めします。データベース・ドライバに対してOSGiバンドルを作成する必要があります。
アクティベータの実装を手動で構成する場合は、このオプションを使用します。

- 13.5.3項「bootclasspathを使用したデータベース・ドライバへのアクセス方法」: これは、オプションの方法です。データベース・ドライバに対してOSGiバンドルを作成する必要はありません。

13.5.1 bundler.shを使用して構築されるアプリケーション・ライブラリを使用したデータベース・ドライバへのアクセス方法

この手順は、bundlerユーティリティを使用してドライバに対するOSGiバンドルを作成してOracle CEPサーバー上にデプロイする方法です。

これはお薦めの方法です。アクティベータの実装を手動で構成する場合は、13.5.2項「Oracle CEP IDE for Eclipseによってビルドされたアプリケーション・ライブラリを使用したデータベース・ドライバにアクセスする方法」を参照してください。

詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のアプリケーション・ライブラリの作成に関する項を参照してください。

bundler.shを使用して構築されるアプリケーション・ライブラリを使用してデータベース・ドライバにアクセスするには:

1. 環境を設定します。『Oracle Fusion Middleware Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項を参照してください。

2. bundler.shスクリプトを実行して、ドライバを含むOSGiバンドルを作成します。
bundler.shスクリプトは、ORACLE_CEP_HOME/ocep_11.1/binディレクトリにあります。ORACLE_CEP_HOMEは、Oracle CEPサーバーのインストール先のディレクトリです。

例13-2は、bundler.shコマンド・ライン・オプションを示し、表13-1は、これらのオプションを説明します。

例13-2 bundler.shコマンド・ライン・オプション

bundler.sh
-source <jar>
-name <name>
-version <version>
[-factory <class>+]
[-service <interface>+]
[-stagedir <path>]
[-targetdir <path>]

表13-1 bundler.shコマンド・ライン・オプション

引数

説明

-source

バンドルするソースJARファイルのパス。

-name

バンドルのシンボリック名。ターゲットJARファイル名のルートは名前の値から導出されています。

-version

バンドル・バージョン番号。すべてのエクスポートされたパッケージは、この値のバージョン属性で修飾されます。ターゲットJARファイル名には、バージョン番号が含まれています。

-factory

OSGiサービスとしてインスタンス化および登録される1つ以上のファクトリ・クラスのスペース区切りリストを指定するオプションの引数。各サービスは、OSGiサービス・レジストリに名前(-name)とバージョン(-version)プロパティとともに登録されます。

-service

各ファクトリ・オブジェクト・サービス登録のオブジェクト・クラスとして使用する1つ以上のJavaインタフェースのスペース区切りリストを指定するオプションの引数。インタフェース名を指定していない場合、または指定したインタフェース数がファクトリ・クラス数と一致していない場合、各ファクトリ・オブジェクトはファクトリ・クラス名で登録されます。

-stagedir

ターゲットJARファイル作成時の一時ファイルの書込み先を指定するオプションの引数。

デフォルト: ./bundler.tmp

-targetdir

生成されたバンドルJARファイルの場所を指定するオプションの引数。

デフォルト: 現在の作業ディレクトリ(.)

例13-3は、bundler.shを使用してOracle JDBCドライバ用のOSGiバンドルを作成する方法を示します。

例13-3 Bundlerユーティリティの使用

bundler.sh \
-source C:\drivers\com.oracle.ojdbc14_11.2.0.jar \
-name oracle11g \
-version 11.2.0 \
-factory oracle.jdbc.xa.client.OracleXADataSource oracle.jdbc.OracleDriver \
-service javax.sql.XADataSource java.sql.Driver \
-targetdir C:\stage

ソースJARは、C:\driversディレクトリにあるOracleドライバです。生成されたバンドルJARの名前は、-nameと-version引数(oracle10g_11.2.0.jar)の連結で、C:\stageディレクトリに作成されます。バンドルJARには、例13-4に示すファイルがあります。

例13-4 バンドルJARコンテンツ

1465 Thu Jun 29 17:54:04 EDT 2006 META-INF/MANIFEST.MF
1540457 Thu May 11 00:37:46 EDT 2006 com.oracle.ojdbc14_11.2.0.jar
1700 Thu Jun 29 17:54:04 EDT 2006 com/bea/core/tools/bundler/Activator.class

コマンド・ライン・オプションによって、バンドルがアクティブ化のときにOSGiサービスとしてインスタンス化および登録される2つのファクトリ・クラスがあることを指定します。表13-2で示すように、各ファクトリ・クラスは別々のオブジェクト・クラスにあります。

表13-2 ファクトリ・クラスおよびサービス・インタフェース

ファクトリ・クラス

サービス・インタフェース

oracle.jdbc.xa.client.OracleXADataSource

javax.sql.XADataSource

oracle.jdbc.OracleDriver

java.sql.Driver

各サービスは、nameプロパティをoracle11gに設定し、versionプロパティを11.2.0の値で登録します。例13-5は、サービスの登録を示すOracle CEPサーバー・ログ・メッセージです。

例13-5 サービス登録ログ・メッセージ

...
INFO: [Jun 29, 2006 5:54:18 PM] Service REGISTERED: { version=11.2.0, name=oracle11g, objectClass=[ javax.sql.XADataSource ], service.id=23 }
INFO: [Jun 29, 2006 5:54:18 PM] Service REGISTERED: { version=11.2.0, name=oracle11g, objectClass=[ java.sql.Driver ], service.id=24 }
INFO: [Jun 29, 2006 5:54:18 PM] Bundle oracle11g STARTED
...

3. Oracle CEPサーバー・ライブラリ拡張ディレクトリに、バンドルJARをコピーします。
Oracle CEPアプリケーションは、ドライバを含むアプリケーション・ライブラリであるため、DOMAIN_DIR/servername/modules/extディレクトリというOracle CEPサーバー・ライブラリ拡張ディレクトリにコピーします。DOMAIN_DIRは、/oracle_cep/user_projects/domains/mydomainなどのドメイン・ディレクトリであり、servernameは、myserverなどのサーバー・インスタンスです。例:

c:\oracle_cep\user_projects\domains\mydomain\myserver\modules\ext

詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のライブラリ拡張ディレクトリに関する項を参照してください。

4. Oracle CEPサーバーのconfig.xmlファイルで、使用するドライバ・バージョンに対するカスタムdata-source要素を作成し、driver-params子要素を追加します(例13-6を参照してください)。詳細は、1.3.1項「Oracle CEPサーバー構成ファイル」を参照してください。

例13-6 driver-params子要素

<driver-params>
<url>jdbc:oracle:thin:@lcw2k18:1531:lcw101</url>
<driver-name>oracle.jdbc.xa.client.OracleXADataSource</driver-name
<properties>
<element>
<name>user</name>
<value>scott</value>
</element>
<element>
<name>password</name>
<value>{3DES}EoIfSBMhnW8=</value>
</element>
<element>
<name>com.bea.core.datasource.serviceName</name>
<value>oracle11g</value>
</element>
<element>
<name>com.bea.core.datasource.serviceVersion</name>
<value>11.2.0</value>
</element>
<element>
<name>com.bea.core.datasource.serviceObjectClass</name>
<value>javax.sql.XADataSource</value>
</element>
</properties>
<use-xa-data-source-interface>true</use-xa-data-source-interface>
</driver-params>

表13-4では、関連プロパティを説明します。

表13-3 driver-params子要素プロパティ

プロパティ

説明

com.bea.core.datasource.serviceName

serviceName登録プロパティの値を指定します。

ActivatorクラスのNAMEプロパティに一致する必要があります。

com.bea.core.datasource.serviceVersion

serviceVersion登録プロパティの値を指定します。

ActivatorクラスのVERSIONプロパティに一致する必要があります。

com.bea.core.datasource.serviceObjectClass

OSGIサービス登録のインタフェース名を指定します。

詳細は、13.2.2項「カスタム・データ・ソースの構成」を参照してください。

5. Oracle CEPサーバーを停止および開始します。
詳細は、1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

13.5.2 Oracle CEP IDE for Eclipseで構築されるアプリケーション・ライブラリを使用したデータベース・ドライバへのアクセス方法

この手順は、Oracle CEP IDE for Eclipseを使用してドライバに対するOSGiバンドルを作成してOracle CEPサーバー上にデプロイする方法です。

これはお薦めの方法です。アクティベータの実装を手動で構成する場合は、13.5.1項「bundler.shによってビルドされたアプリケーション・ライブラリを使用したデータベース・ドライバにアクセスする方法」を参照してください。

詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のアプリケーション・ライブラリの作成に関する項を参照してください。

Oracle CEP IDE for Eclipseで構築されるアプリケーション・ライブラリを使用してデータベース・ドライバにアクセスするには:

1. Oracle CEP IDE for Eclipseを使用して、新しいOracle CEPプロジェクトを作成します。
詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のOracle CEPプロジェクトの作成に関する項を参照してください。

2. プロジェクト・フォルダを右クリックして、「新規」>「フォルダ」を選択します。

3. 「フォルダ名」フィールドにlibと入力し、「終了」をクリックします。

4. Oracle CEP IDE for Eclipseの外で、JDBC JARファイルをlibフォルダにコピーします。

5. Oracle CEP IDE for Eclipse内で、libフォルダを右クリックして、「リフレッシュ」を選択します。
図13-2に表示されているように、JARファイルがlibフォルダに表示されます。

図13-2 Oracle CEP IDE for Eclipse libディレクトリ

「図13-2 Oracle CEP IDE for Eclipseのlibディレクトリ」の説明

6. srcディレクトリを右クリックして、「新規」>「クラス」を選択します。
図13-3で示すように、Javaクラスダイアログが表示されます。

図13-3 「新規Javaクラス」ダイアログ

「図13-3 新規Javaクラスダイアログ」の説明

7. 表13-4で示すように、新規Javaクラスダイアログを構成します。

表13-4 新規Javaクラス・パラメータ

パラメータ

説明

「パッケージ」

パッケージの名前。たとえば、com.fooを指定します。

「名前」

クラスの名前。たとえば、MyActivatorを指定します。

その他のパラメータはデフォルト値のままにします。

8. 「終了」をクリックします。
新規のJavaクラスがプロジェクトに追加されます。

9. 例13-7で示すように、実装するためにJavaクラスを編集します。
JDBCドライバの既存のバージョンを差し代えるように、NAMEおよびVERSIONを設定します。この例では既存のバージョンは、次のとおりです。

- oracle10g

- 10.0.0

既存のバージョンを差し代えるために、MyActivatorクラスではこれらの値を次の値に設定します。

- oracle11g

- 11.2.0

例13-7 MyActivatorクラスの実装

package com.foo;

import java.util.Dictionary;
import java.util.Properties;

import javax.sql.XADataSource;
import java.sql.Driver;

import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceRegistration;

public class MyActivator implements BundleActivator {

private static final String NAME="oracle11g";
private static final String VERSION="11.2.0";

private String[] factories = {"oracle.jdbc.xa.client.OracleXADataSource","oracle.jdbc.OracleDriver"};
private String[] interfaces= {"javax.sql.XADataSource","java.sql.Driver"};
private ServiceRegistration[] serviceRegistrations = new ServiceRegistration[factories.length];

public void start(BundleContext bc) throws Exception {
Dictionary props = new Properties();
props.put("name", NAME);
props.put("version", VERSION);
for (int i=0; i<factories.length; i++) {
Object svc = bc.getBundle().loadClass(factories[i]).newInstance();
serviceRegistrations[i] = bc.registerService(interfaces[i], svc, props);
}
}

public void stop(BundleContext bc) throws Exception {
for (int i=0; i<serviceRegistrations.length; i++) {
serviceRegistrations[i].unregister();
}
}
}

10. META-INF/MANIFEST.MFファイルを右クリックして、次で開く>プラグイン・マニフェスト・エディタを選択します。
図13-4で示すように、マニフェスト・エディタが表示されます。

図13-4 マニフェスト・エディタ:「概要」タブ

「図13-4 マニフェスト・エディタ:「概要」タブ」の説明

11. 「ランタイム」タブをクリックします。
図13-5で示すように、「ランタイム」タブが表示されます。

図13-5 マニフェスト・エディタ:「ランタイム」タブ

「図13-5 マニフェスト・エディタ:「ランタイム」タブ」の説明

12. 「クラスパス」ペインで、「追加」をクリックします。
図13-6で示すように、JAR選択ダイアログが表示されます。

図13-6 JAR選択ダイアログ

「図13-6 JAR選択ダイアログ」の説明

13. libディレクトリを展開して、使用するデータベース・ドライバJARファイルを選択します。

14. 「OK」をクリックします。

15. 「依存関係」タブをクリックします。
図13-7で示すように、「依存関係」タブが表示されます。

図13-7 マニフェスト・エディタ:「依存関係」タブ

「図13-7 マニフェスト・エディタ:「依存関係」タブ」の説明

16. インポートされたパッケージペインで、「追加」をクリックします。
図13-8で示すように、パッケージ選択ダイアログが表示されます。

図13-8 パッケージ選択ダイアログ

「図13-8 パッケージ選択ダイアログ」の説明

17. エクスポートされたパッケージフィールドで、org.osgi.frameworkを入力します。
図13-8で示すように、リスト・ボックスには、その接頭辞の付いているすべてのパッケージが表示されます。

18. リスト・ボックスでorg.osgi.frameworkを選択して、「OK」をクリックします。

19. MANIFEST.MFタブをクリックします。
図13-9で示すように、MANIFEST.MFタブが表示されます。

図13-9 マニフェスト・エディタ

「図13-9 マニフェスト・エディタ」の説明

20. 例13-8で示すように、データベース・ドライバJARを一時ディレクトリに解凍します。

例13-8 データベース・ドライバの解凍

$ pwd
/tmp
$ ls com.*
com.bea.oracle.ojdbc6_1.0.0.0_11-1-0-7.jar
$ mkdir driver
$ cd driver
$ jar -xvf ../com.bea.oracle.ojdbc6_1.0.0.0_11-1-0-7.jar
$ ls
META-INF  oracle
$ cd META-INF
$ ls
MANIFEST.MF  services

21. 例13-9で示すように、データベース・ドライバJAR MANIFEST.MFファイルを開いて、Export-Packageエントリをコピーし、マニフェスト・エディタに貼り付けます。

例13-9 マニフェスト・エディタへのエクスポート・パッケージの追加

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %project.name
Bundle-SymbolicName: JDBCDriver
Bundle-Version: 1.0.0
Bundle-Localization: bundle
Bundle-Vendor: %project.vendor
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: .
Import-Package: com.bea.wlevs.configuration;version="11.1.1.4_0", ...
Export-Package: oracle.core.lmx;version=1.0.0.0_11-1-0-7,oracle.core.l
vf;version=1.0.0.0_11-1-0-7,oracle.jdbc;version=1.0.0.0_11-1-0-7,orac
le.jdbc.aq;version=1.0.0.0_11-1-0-7,oracle.jdbc.connector;version=1.0
.0.0_11-1-0-7,oracle.jdbc.dcn;version=1.0.0.0_11-1-0-7,oracle.jdbc.dr
iver;version=1.0.0.0_11-1-0-7,oracle.jdbc.internal;version=1.0.0.0_11
-1-0-7,oracle.jdbc.oci;version=1.0.0.0_11-1-0-7,oracle.jdbc.oracore;v
ersion=1.0.0.0_11-1-0-7,oracle.jdbc.pool;version=1.0.0.0_11-1-0-7,ora
cle.jdbc.rowset;version=1.0.0.0_11-1-0-7,oracle.jdbc.util;version=1.0
.0.0_11-1-0-7,oracle.jdbc.xa;version=1.0.0.0_11-1-0-7,oracle.jdbc.xa.
client;version=1.0.0.0_11-1-0-7,oracle.jpub.runtime;version=1.0.0.0_1
1-1-0-7,oracle.net.ano;version=1.0.0.0_11-1-0-7,oracle.net.aso;versio
n=1.0.0.0_11-1-0-7,oracle.net.jndi;version=1.0.0.0_11-1-0-7,oracle.ne
t.ns;version=1.0.0.0_11-1-0-7,oracle.net.nt;version=1.0.0.0_11-1-0-7,
oracle.net.resolver;version=1.0.0.0_11-1-0-7,oracle.security.o3logon;
version=1.0.0.0_11-1-0-7,oracle.security.o5logon;version=1.0.0.0_11-1
-0-7,oracle.sql;version=1.0.0.0_11-1-0-7,oracle.sql.converter;version
=1.0.0.0_11-1-0-7

22. 例13-10で示すように、マニフェスト・エディタにBundle-Activator要素を追加します。
Bundle-Activatorの値は、Activatorクラスの完全修飾クラス名です。

例13-10 マニフェスト・エディタへのBundle-Activator要素の追加

Manifest-Version: 1.0
Bundle-Activator: com.foo.MyActivator
Bundle-ManifestVersion: 2
Bundle-Name: %project.name
Bundle-SymbolicName: JDBCDriver
Bundle-Version: 1.0.0
Bundle-Localization: bundle
Bundle-Vendor: %project.vendor
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: .
Import-Package: com.bea.wlevs.configuration;version="11.1.1.4_0", ...
Export-Package: oracle.core.lmx;version=1.0.0.0_11-1-0-7, ...
...

23. 例13-11で示すように、マニフェスト・エディタにDynamicImport-Package要素を追加します。

例13-11 マニフェスト・エディタへのDynamicImport-Package要素の追加

Manifest-Version: 1.0
Bundle-Activator: com.foo.MyActivator
Bundle-ManifestVersion: 2
Bundle-Name: %project.name
Bundle-SymbolicName: JDBCDriver
Bundle-Version: 1.0.0
Bundle-Localization: bundle
Bundle-Vendor: %project.vendor
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: .
DynamicImport-Package: *
Import-Package: com.bea.wlevs.configuration;version="11.1.1.4_0", ...
Export-Package: oracle.core.lmx;version=1.0.0.0_11-1-0-7, ...
...

24. Oracle CEPアプリケーションをJARファイルにエクスポートします。
詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のOracle CEPプロジェクトのエクスポート方法に関する項を参照してください。

Oracle CEPアプリケーションは、ドライバを含むアプリケーション・ライブラリであるため、エクスポートされたJARをOracle CEPサーバー・ライブラリ拡張ディレクトリにコピーします。

Oracle CEPサーバー・ライブラリ拡張ディレクトリはDOMAIN_DIR/servername/modules/extディレクトリです。DOMAIN_DIRは/oracle_cep/user_projects/domains/mydomainなどのドメイン・ディレクトリを示し、servernameはmyserverなどのサーバー・インスタンスを示します。例:

c:\oracle_cep\user_projects\domains\mydomain\myserver\modules\ext

25. Oracle CEPサーバーのconfig.xmlファイルで、使用するドライバ・バージョンに対するカスタムdata-source要素を作成し、driver-params子要素を追加します(例13-12を参照してください)。詳細は、1.3.1項「Oracle CEPサーバー構成ファイル」を参照してください。

例13-12 driver-params子要素

<driver-params>
<url>jdbc:oracle:thin:@lcw2k18:1531:lcw101</url>
<driver-name>oracle.jdbc.xa.client.OracleXADataSource</driver-name
<properties>
<element>
<name>user</name>
<value>scott</value>
</element>
<element>
<name>password</name>
<value>{3DES}EoIfSBMhnW8=</value>
</element>
<element>
<name>com.bea.core.datasource.serviceName</name>
<value>oracle11g</value>
</element>
<element>
<name>com.bea.core.datasource.serviceVersion</name>
<value>11.2.0</value>
</element>
<element>
<name>com.bea.core.datasource.serviceObjectClass</name>
<value>javax.sql.XADataSource</value>
</element>
</properties>
<use-xa-data-source-interface>true</use-xa-data-source-interface>
</driver-params>

表13-5では、関連プロパティを説明します。

表13-5 driver-params子要素プロパティ

プロパティ

説明

com.bea.core.datasource.serviceName

serviceName登録プロパティの値を指定します。

ActivatorクラスのNAMEプロパティに一致する必要があります。

com.bea.core.datasource.serviceVersion

serviceVersion登録プロパティの値を指定します。

ActivatorクラスのVERSIONプロパティに一致する必要があります。

com.bea.core.datasource.serviceObjectClass

OSGIサービス登録のインタフェース名を指定します。

詳細は、13.2.2項「カスタム・データ・ソースの構成」を参照してください。

26. Oracle CEPサーバーを停止および開始します。
詳細は、1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

13.5.3 bootclasspathを使用したデータベース・ドライバにアクセスする方法

必要に応じて、Oracle CEPで独自のJDBCドライバにアクセスするためにbootclasspathを使用することができます。

13.5.1項「bundler.shによってビルドされたアプリケーション・ライブラリを使用したデータベース・ドライバにアクセスする方法」または13.5.2項「Oracle CEP IDE for Eclipseによってビルドされたアプリケーション・ライブラリを使用したデータベース・ドライバにアクセスする方法」で説明されているように、かわりにアプリケーション・ライブラリを使用することをお薦めします。

bootclasspathを使用してデータベース・ドライバにアクセスするには:

1. Oracle CEP起動時に適切なJDBCドライバのJARファイルが検索されるように、ドメイン・ディレクトリのサーバー・ディレクトリにあるサーバー起動スクリプトを更新します。
サーバー起動スクリプト名はstartwlevs.cmd (Windows)またはstartwlevs.sh (UNIX)で、スクリプトはドメイン・ディレクトリ内のサーバー・ディレクトリにあります。即時利用可能サンプル・ドメインはORACLE_CEP_HOME/ocep_11.1/samples/domainsにあります。ユーザー・ドメインはORACLE_CEP_HOME/user_projects/domainsにあります。ORACLE_CEP_HOMEは、d:\oracle_cepなどのOracle CEPインストール・ディレクトリです。

wlevs_3.0.jarファイルを実行するJavaコマンドに-Xbootclasspath/aオプションを追加して、起動スクリプトを更新します。使用するJDBCドライバのフル・パス名を-Xbootclasspath/aオプションに設定します。

たとえば、Windows Oracle Thinドライバを使用する場合は、次のとおりに起動スクリプトのjavaコマンドを更新します。更新されたセクションは、太字で示します(読みやすくするために区切ってありますが、実際にはコマンドは1行にする必要があります)。

%JAVA_HOME%\bin\java -Dwlevs.home=%USER_INSTALL_DIR% -Dbea.home=%BEA_HOME%
-Xbootclasspath/a:%USER_INSTALL_DIR%\bin\com.bea.oracle.ojdbc14_10.2.0.jar
-jar "%USER_INSTALL_DIR%\bin\wlevs_3.0.jar" -disablesecurity %1 %2 %3 %4 %5 %6

この例では、%USER_INSTALL_DIR%はORACLE_CEP_HOME\ocep_11.1を示しています。

2. サーバーのconfig.xmlファイルでデータ・ソースを構成します。

1. 構成ウィザードを使用してOracle CEPサーバーconfig.xmlファイルを更新する場合、『Oracle Fusion Middleware Oracle Complex Event Processing管理者ガイド』のOracle CEPスタンドアロンサーバー・ドメインの作成と更新に関する項を参照してください。

2. Oracle CEPサーバーconfig.xmlファイルを手動で更新する場合、13.2.2項「カスタムのデータ・ソースの構成」を参照してください。

3. Oracle CEPが実行中の場合は、新規のjavaオプションとデータ・ソース情報を読み込むために再起動します。
詳細は、1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

14 Oracle CEPのHTTPパブリッシュ/サブスクライブの構成

この章は、Oracle Complex Event Processing (Oracle CEP)で使用するHTTPパブリッシュ/サブスクライブ(Bayeuxプロトコルに基づく)の構成方法を、HTTPパブリッシュ/サブスクライブ・サーバーの作成および構成方法と構成例も含めて説明します。

- 14.1項「HTTPパブリッシュ/サブスクライブの概要」

- 14.2項「新しいHTTPパブリッシュ/サブスクライブ・サーバーの作成」

- 14.3項「既存HTTPパブリッシュ/サブスクライブ・サーバーの構成」

- 14.4項「HTTPパブリッシュ/サブスクライブ・サーバーの構成の例」

14.1 HTTPパブリッシュ/サブスクライブの概要

HTTPパブリッシュ/サブスクライブ・サーバー(HTTP pub-subサーバー)は、Webクライアントがチャネルにサブスクライブし、HTTPを介して非同期メッセージでチャネルにメッセージをパブリッシュするメカニズムです。

標準のWebアプリケーションの単純なリクエスト/レスポンスでは、クライアントがすべての通信を開始する必要がありますが、この場合、サーバーは明示的なリクエストを受け取った場合に、更新されたデータをクライアントへプッシュすることしかできません。このメカニズムは、クライアントがリクエストした場合にのみサーバーからのデータが必要となる従来のアプリケーションには適していますが、クライアントが明示的にリクエストしていない場合でもサーバーがデータを送信する必要のある動的かつリアル・タイムなアプリケーションには不適切です。クライアントは従来のHTTPプル手法を使用して最新データを定期的にチェックおよび取得することができますが、この手法にはスケーラビリティがなく、チェックの重複によりネットワーク・トラフィックの増加につながります。HTTPパブリッシュ/サブスクライブ・サーバーは、クライアントによるチャネル(JMSでのトピックに相当)のサブスクライブとメッセージ(利用可能な場合)の受信を可能にすることにより、この問題を解決しています。

HTTP pub-subサーバーはcometdプロジェクトで提案されているBayeuxプロトコルに基づいています。Bayeuxプロトコルには、クライアントとサーバーがHTTPを介して非同期メッセージで通信するための規約が定義されています。これによって、クライアントは、イベントのソースまたは指定されている宛先であるチャネルに登録およびサブスクライブすることができます。次に、登録されたクライアントまたはHTTP pub-subサーバー自体がこれらのチャネルへメッセージをパブリッシュし、サブスクライブしているすべてのクライアントがそのメッセージを受信します。

HTTP pub-subサーバーはBayeuxプロトコルを理解するすべてのクライアントと通信できます。HTTP pub-subサーバーの役割には、クライアントの識別、信頼のネゴシエーション、Bayeuxメッセージの交換、そして最も重要なこととして、サブスクライブしたクライアントへのイベント・メッセージのパブリッシュがあります。

図14-1は、Oracle CEPに含まれているHTTP pub-subサーバーの基本的なアーキテクチャを示します。

図14-1 Oracle CEPのHTTPパブリッシュ/サブスクライブ・サーバー

「図14-1 Oracle CEPのHTTPパブリッシュ/サブスクライブ・サーバー」の説明

14.1.1 HTTPパブリッシュ/サブスクライブ・サーバーの仕組み

サーブレットとHTTP pub-subサーバーは1対1の関係にあります。つまり、各サーブレットは、1つの固有のHTTP pub-subサーバーにアクセスします。各HTTP pub-subサーバーは独自のチャネル・リストを持ちます。サーブレットはコンテキスト・オブジェクトを使用して、関連付けられているHTTP pub-subサーバーへのハンドルを取得します。

Oracle CEPでは、HTTP pub-subサーバー・インスタンスは、サーバー・インスタンスのconfig.xmlファイルで構成されます。システム管理者はconfig.xmlを使用して、HTTP pub-subサーバーの名前を構成し、トランスポートおよびその他のパラメータを指定します。次に、Oracle CEP Visualizerを使用して新しいチャネルを追加し、チャネルのセキュリティを構成します。

Oracle CEPアプリケーション開発者はオプションで、組込みHTTP pub-subアダプタを使用してアプリケーション内でチャネルにパブリッシュおよびサブスクライブできます。しかし、クライアントから受信したメッセージの監視、収集、解釈などの追加手順をHTTP pub-subサーバーで実行する必要がある場合、開発者はサーバー側のHTTP pub-subサーバーAPIを使用して、こうした機能をプログラミングする必要があります。

Web 2.0 Ajaxクライアント(Dojoなど)またはリッチ・インターネット・アプリケーション(Adobe Flexなど)がHTTP pub-subサーバーと通信できるには、Bayeuxプロトコルをサポートするライブラリがクライアント側で必要となります。Dojo JavaScriptライブラリでは4つの異なるトランスポート手段が提供されており、そのうちの2つはHTTP pub-subサーバーでサポートされているlong-pollingおよびcallback-pollingです。

14.1.2 Oracle CEPのHTTP Pub-Subサーバー・サポート

すべてのOracle CEPサーバーには、デフォルトのHTTP pub-subサーバーが含まれています。このサーバーは、Oracle CEP Visualizerおよび記録と再生のサンプルによって内部的に使用されます。独自のWeb 2.0アプリケーションでデフォルトのHTTP pub-subサーバーを使用することも、新しいサーバーを作成することもできます。

デフォルトのHTTP pub-subサーバーには次のプロパティがあります。

- HTTP pub-subサーバーURL: (http://host:port/pubsub) hostはOracle CEPを実行しているコンピュータ、portはOracle CEPがリスニングするポート番号です。

- トランスポート: long-pollingトランスポートを使用します。

- HTTP pub-subサーバーに明示的に接続せずに、クライアントでチャネルへのメッセージをパブリッシュできます。

- Oracle CEP Visualizerによって内部的に使用される次の3つのチャネルが含まれます。これらのチャネルは削除しないでください。

- /evsmonitor

- /evsalert/

- /evsdomainchange

デフォルトのHTTP pub-subサーバーの構成、または新しいサーバーの作成の詳細は、次の項を参照してください。

- 14.2項「新しいHTTPパブリッシュ/サブスクライブ・サーバーの作成」

- 14.3項「既存HTTPパブリッシュ/サブスクライブ・サーバーの構成」

- 14.4項「HTTPパブリッシュ/サブスクライブ・サーバーの構成の例」

また、Oracle CEPには、アプリケーションで簡単にHTTP pub-subサーバーの機能を活用できる2つの組込みアダプタが含まれています。これらのアダプタをアプリケーションに追加すると、ローカルまたはリモートのHTTP pub-subサーバーを使用して、サーバーへのメッセージのパブリッシュと、メッセージを受信するためのサーバーへのサブスクライブの両方が可能になります。

詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のHTTPパブリッシュ/サブスクライブ・アダプタの使用と作成に関する項を参照してください。

14.2 新しいHTTPパブリッシュ/サブスクライブ・サーバーの作成

次の手順では、新しいHTTP pub-subサーバーを作成する方法について説明します。構成されたHTTP pub-subサーバーのconfig.xmlの例全体は、14.4項「HTTPパブリッシュ/サブスクライブ・サーバーの構成の例」を参照してください。

新しいHTTPパブリッシュ/サブスクライブ・サーバーを作成するには:

1. Oracle CEP サーバーが実行中である場合は、停止します。
1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

2. 任意のXMLエディタを使用して、Oracle CEPサーバーのconfig.xmlファイルを開きます。
このファイルはDOMAIN_DIR/servername/configディレクトリにあります。DOMAIN_DIRはドメイン・ディレクトリを指し、servernameはサーバーの名前(/oracle_cep/user_projects/myDomain/defaultserver/configなど)を指します。

3. 太字で示されているように、config.xmlのルートconfig要素のhttp-pubsub子要素を追加し、name、path、およびpub-sub-bean子要素を指定します。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:config xmlns:ns2="http://www.bea.com/ns/wlevs/config/server">
<domain>
<name>myDomain</name>
</domain>
....
<http-pubsub>
<name>myPubSubServer</name>
<path>/myPath</path>
<pub-sub-bean>
...
</pub-sub-bean>
</http-pubsub>
...
</ns2:config>

name要素をHTTP pub-subサーバーの内部名に設定します。

path要素はHTTP pub-subサーバーへの接続に使用されるURLに表示する文字列に設定します。

次の手順では、pub-sub-bean要素について説明します。

4. pub-sub-bean要素のserver-configおよびchannels子要素を追加します。

<http-pubsub>
<name>myPubSubServer</name>
<path>/myPath</path>
<pub-sub-bean>
<server-config>
...
</server-config>
<channels>
...
</channels>
</pub-sub-bean>
</http-pubsub>

5. 必要に応じて、pub-sub-bean要素のserver-config子要素をHTTP pub-subサーバーの構成で更新します。
詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のサーバー構成XSDスキーマ: wlevs_server_config.xsdに関する項を参照してください。

次に、最も一般的な構成オプションを示します。

- supported-transport要素を追加して、トランスポートを指定します。
この要素の形式は次のとおりです。

<server-config>
<supported-transport>
<types>
<element>long-polling</element>
</types>
</supported-transport>
...
</server-config>

Oracle CEPでは、次のトランスポートをサポートします。

- long-polling: このトランスポートを使用して、クライアントはOracle CEPサーバーからの情報をリクエストします。情報がない場合は、Oracle CEPサーバーは応答しません。通常、Oracle CEPサーバーが応答すると、クライアントはすぐに別のリクエストを送信します。

- callback-polling: このトランスポートは、クロス・ドメイン構成を使用するHTTPパブリッシュ/サブスクライブ・アプリケーションに使用します。この構成では、ブラウザが1つのWebサーバー(JavaScriptコードを含む)からページをダウンロードし、HTTPパブリッシュ/サブスクライブ・クライアントとして別のサーバーに接続します。これは、Bayeuxプロトコルに必要です。Bayeuxプロトコルの詳細は、http://svn.xantus.org/shortbus/trunk/bayeux/bayeux.htmlを参照してください。

- publish-without-connect-allowed要素を追加して、クライアントがHTTP pub-subサーバーに明示的に接続せずに、メッセージをパブリッシュできるかどうかを指定します。有効な値はtrueまたはfalseです。

<server-config>
...
<publish-without-connect-allowed>true</publish-without-connect-allowed>
</server-config>

- work-manager要素を追加し、クライアントにメッセージを送信するワーク・マネージャ名を指定します。この要素の値は、割り当てるwork-managerの<name>子要素の値に対応します。

<server-config>
...
<work-manager>myWorkManager</work-manager>
</server-config>

詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のwork-managerに関する項を参照してください。

- client-timeout-secs要素を追加して、クライアントから接続/再接続のメッセージが返されていない場合にHTTP pub-subサーバーが接続を切断するまでの秒数を指定します。

<server-config>
...
<client-timeout-secs>600</client-timeout-secs>
</server-config>

6. 少なくとも1つのチャネル・パターンでchannels子要素を更新します。
チャネル・パターンは、常にフォワード・スラッシュ(/)で始まります。クライアントは、メッセージのパブリッシュ、またはメッセージの受信のためにこれらのチャネルにサブスクライブします。次に示すようにチャネル・パターンを追加します。

<channels>
<element>
<channel-pattern>/mychannel</channel-pattern>
</element>
</channels>

7. config.xmlファイルを保存します。

8. Oracle CEPサーバーを起動します。
1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

9. Oracle CEP Visualizerを使用して、チャネルを構成または追加します。次を参照してください。

- 『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のHTTPパブリッシュ/サブスクライブ・サーバー・チャネルの構成に関する項

10. Oracle CEP Visualizerを使用して、チャネルのセキュリティを構成します。次を参照してください。

- 『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のHTTPパブリッシュ/サブスクライブ・チャネルのセキュリティの構成に関する項

- 10.8.4項「HTTPパブリッシュ/サブスクライブ・サーバー・チャネル・セキュリティの構成」

14.3 既存HTTPパブリッシュ/サブスクライブ・サーバーの構成

次の手順では、既存のHTTP pub-subサーバーを構成する方法について説明します。構成されたHTTP pub-subサーバーのconfig.xmlの例全体は、14.4項「HTTPパブリッシュ/サブスクライブ・サーバーの構成の例」を参照してください。

既存のHTTPパブリッシュ/サブスクライブ・サーバーを構成するには:

1. Oracle CEP サーバーが実行中である場合は、停止します。
1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

2. 任意のXMLエディタを使用して、Oracle CEPサーバーのconfig.xmlファイルを開きます。
このファイルはDOMAIN_DIR/servername/configディレクトリにあります。DOMAIN_DIRはドメイン・ディレクトリを指し、servernameはサーバーの名前(/oracle_cep/user_projects/myDomain/defaultserver/configなど)を指します。

3. 構成するHTTP pub-subサーバーに対応するhttp-pubsub要素を検索します。たとえば、デフォルトのHTTP pub-subサーバーは次のとおりです。

<http-pubsub>
<name>pubsub</name>
<path>/pubsub</path>
<pub-sub-bean>
<server-config>
...
</http-pubsub>

4. 必要に応じて、pub-sub-bean要素(http-pubsub要素の子要素)のserver-config子要素をHTTP pub-subサーバーの構成で更新します。
詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のサーバー構成XSDスキーマ: wlevs_server_config.xsdに関する項を参照してください。

次に、最も一般的な構成オプションを示します。

- supported-transport要素を追加して、トランスポートを指定します。
この要素の形式は次のとおりです。

<server-config>
<supported-transport>
<types>
<element>long-polling</element>
</types>
</supported-transport>
...
</server-config>

Oracle CEPでは、次のトランスポートをサポートします。

- long-polling: このトランスポートを使用して、クライアントはOracle CEPサーバーからの情報をリクエストします。情報がない場合は、Oracle CEPサーバーは応答しません。通常、Oracle CEPサーバーが応答すると、クライアントはすぐに別のリクエストを送信します。

- callback-polling: このトランスポートは、クロス・ドメイン構成を使用するHTTPパブリッシュ/サブスクライブ・アプリケーションに使用します。この構成では、ブラウザが1つのWebサーバー(JavaScriptコードを含む)からページをダウンロードし、HTTPパブリッシュ/サブスクライブ・クライアントとして別のサーバーに接続します。これは、Bayeuxプロトコルに必要です。Bayeuxプロトコルの詳細は、http://svn.xantus.org/shortbus/trunk/bayeux/bayeux.htmlを参照してください。

- publish-without-connect-allowed要素を追加して、クライアントがHTTP pub-subサーバーに明示的に接続せずに、メッセージをパブリッシュできるかどうかを指定します。有効な値はtrueまたはfalseです。

<server-config>
...
<publish-without-connect-allowed>true</publish-without-connect-allowed>
</server-config>

- work-manager要素を追加し、クライアントにメッセージを送信するワーク・マネージャ名を指定します。この要素の値は、割り当てるwork-managerのname子要素の値に対応します。

<server-config>
...
<work-manager>myWorkManager</work-manager>
</server-config>

詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のwork-managerに関する項を参照してください。

- client-timeout-secs要素を追加して、クライアントから接続/再接続のメッセージが返されていない場合にHTTP pub-subサーバーが接続を切断するまでの秒数を指定します。

<server-config>
...
<client-timeout-secs>600</client-timeout-secs>
</server-config>

5. config.xmlファイルを保存します。

6. Oracle CEPサーバーを起動します。
1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

7. Oracle CEP Visualizerを使用して、チャネルを構成または追加します。次を参照してください。

- 『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のHTTPパブリッシュ/サブスクライブ・サーバー・チャネルの構成に関する項

8. Oracle CEP Visualizerを使用して、チャネルのセキュリティを構成します。次を参照してください。

- 『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のHTTPパブリッシュ/サブスクライブ・チャネルのセキュリティの構成に関する項

- 10.8.4項「HTTPパブリッシュ/サブスクライブ・サーバー・チャネル・セキュリティの構成」

14.4 HTTPパブリッシュ/サブスクライブ・サーバーの構成例

config.xmlファイルの次のスニペットは、すべてのOracle CEPサーバーに含まれるデフォルトのHTTP pub-subサーバーの構成を示しています。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:config xmlns:ns2="http://www.bea.com/ns/wlevs/config/server">
<domain>
<name>myDomain</name>
</domain>
....
<http-pubsub>
<name>pubsub</name>
<path>/pubsub</path>
<pub-sub-bean>
<server-config>
<supported-transport>
<types>
<element>long-polling</element>
</types>
</supported-transport>
<publish-without-connect-allowed>true</publish-without-connect-allowed>
</server-config>
<channels>
<element>
<channel-pattern>/evsmonitor</channel-pattern>
</element>
<element>
<channel-pattern>/evsalert</channel-pattern>
</element>
<element>
<channel-pattern>/evsdomainchange</channel-pattern>
</element>
</channels>
</pub-sub-bean>
</http-pubsub>
...
</ns2:config>

15 Oracle CEPのロギングとデバッグの構成

この章は、Oracle Complex Event Processing (Oracle CEP)のロギングとデバッグの構成方法を、Oracle CEPロギング・サービス、Log4j、およびApache CommonsロギングAPIの使用と、デバッグ・オプションの構成を含めて説明します。

- 15.1項「ロギングとデバッグの構成の概要」

- 15.2項「Oracle CEPロギング・サービスの構成」

- 15.3項「Log4jロギングの構成」

- 15.4項「Apache CommonsロギングAPIの使用」

- 15.5項「Oracle CEPデバッグ・オプションの構成」

15.1 ロギングとデバッグの構成の概要

システム管理者と開発者は、ロギング出力を構成し、ログ・メッセージをフィルタ処理してエラーをトラブルシューティングしたり、特定のイベントの通知を受信したりします。

以下に、ロギングの構成シナリオの一部を示します。

- DEBUGメッセージおよびINFOメッセージがログ・ファイルに記録されないようにします。

- HTTPサブシステムからのINFOレベルのメッセージを、標準出力ではなくログ・ファイルにパブリッシュできるようにします。

- 重大度がWARNING以上のメッセージをハンドラがパブリッシュするように指定します。

- Oracle CEPサーバー全体のデフォルトのロギング・レベルを指定し、特定のOracle CEPモジュールにデフォルトのロギング・レベルをオーバーライドさせます。たとえば、サーバーのデフォルトのロギング・レベルをWARNINGにする一方、CEPモジュールのロギング・レベルをDEBUGにすることができます。

- Oracle CEPにデプロイしたユーザー・アプリケーションのロギング・レベルを構成します。この場合、アプリケーションのログ・メッセージをサーバー全体の1個のログ・ファイルに出力する必要があり、サーバー自体のモジュールからもそのログ・ファイルにメッセージを記録する場合は、Commons Apacheロギング・フレームワークをアプリケーションで使用する必要があります。

Oracle CEPでは、次のロギング・システムがサポートされています。

- 15.1.1項「Commons Apacheログ・フレームワーク」

- 15.1.2項「OSGiフレームワーク・ロガー」

- 15.1.3項「Log4jロガー」

Oracle CEPでは、様々なデバッグ・オプションも提供されます。これらのオプションを有効または無効にすることにより、使用するOracle CEPアプリケーションを診断できます。詳細は、15.5項「Oracle CEPデバッグ・オプションの構成」を参照してください。

注意:

Oracle CEPセキュリティ監査者ロギングの詳細は、10.10項「Oracle CEPセキュリティ監査者の構成」を参照してください。

注意:

ログ・メッセージのローカライズ・テキストに使用されるクラスを検証および生成するためにメッセージ・カタログを解析する方法の詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のログ・メッセージ・カタログの管理に関する項を参照してください。

15.1.1 Commons Apacheログ・フレームワーク

Oracle CEPでは、commons-loggingインタフェースが提供されます。このインタフェースでは、commons.logging.LogFactoryおよびLogインタフェースの実装が提供されます。そのインタフェースには、ロギング・モジュールのLoggingServiceに委任されるorg.apache.commons.logging.Logの実装を作成するファクトリとして動作するorg.apache.commons.logging.LogFactoryクラスの拡張が含まれています。デフォルトの実装名はweblogic.logging.commons.LogFactoryImplです。

ここでは、以下の項目について説明します。

- 15.1.1.1項「ログ・ファクトリの設定」

- 15.1.1.2項「ログの重大度レベルの使用」

- 15.1.1.3項「ログ・ファイル」

- 15.1.1.4項「ログ・メッセージ形式」

- 15.1.2項「OSGiフレームワーク・ロガー」

詳細は、http://jakarta.apache.org/commons/logging/apidocs/index.htmlを参照してください。

15.1.1.1 ログ・ファクトリの設定

ここでは、システム・プロパティを使用してログ・ファクトリを設定する方法について説明します。

- 最高の優先度はシステム・プロパティorg.apache.commons.logging.LogFactoryに対して設定されています。

- 次のコマンドを使用して、コマンド・ラインからロギングを設定できます。

-Dorg.apache.commons.logging.LogFactory=weblogic.logging.commons.LogFactoryImpl

- 次のように、プログラムによってロギングを実装できます。

import org.apache.commons.logging.LogFactory;
System.setProperty(
LogFactory.FACTORY_PROPERTY,
"weblogic.logging.commons.LogFactoryImpl"
);

- weblogic.logging.commons.LogFactoryImplは、ログ・ファクトリが明示的に設定されない場合、デフォルトのログ・ファクトリです。

- 別のロギング実装を使用するには、標準のcommons loggingファクトリ実装を使用する必要があります。org.apache.commons.logging.impl.LogFactoryImplの実装はcommons logging jarで使用できます。例:

-Dorg.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl

または、次のようにプログラミングしても同じです。

System.setProperty(
LogFactory.FACTORY_PROPERTY,
"org.apache.commons.logging.impl.LogFactoryImpl"
);

15.1.1.2 ログの重大度レベルの使用

各ログ・メッセージには重大度レベルが関連付けられています。レベルによって、ログ・メッセージの重要性と緊急度が大まかに示されます。TRACEからEMERGENCYまでの重大度があらかじめ定義されており、これらの重大度は、ログ・リクエストがロガーにディスパッチされるとログ・レベルに変換されます。ログ・レベル・オブジェクトは、次の値(影響の少ない低レベル(左端)から影響の大きい高レベル(右端)の順で並んでいる)のいずれかを指定できます。

TRACE、DEBUG、INFO、NOTICE、WARNING、ERROR、CRITICAL、ALERT、EMERGENCY

ロガー、ハンドラ、およびユーザー・アプリケーションに対してログの重大度レベルを設定できます。ロガーに対して重大度を設定した場合、いずれのハンドラも、ロガーによって拒否されたイベントを受信しません。たとえば、ロガーに対してログ・レベルをNOTICEに設定した場合、ハンドラは、INFOレベルのイベントを受信しません。ハンドラに対してログ・レベルを設定した場合、制約はそのハンドラのみに適用され、他のハンドラには適用されません。たとえば、ファイル・ハンドラに対してDEBUGをオフにすると、DEBUGメッセージはログ・ファイルには書き込まれませんが、DEBUGメッセージは標準出力には書き込まれます。

ユーザー(Oracle CEPモジュールの所有者またはユーザー・アプリケーションの所有者)は、個別モジュールに対してApache commons loggingで使用されるロギング・カテゴリ・タイプを表す名前を自由に定義できます。ただし、カテゴリ名がパッケージ名として定義されている場合は、ネーミング・ルールに基づいて、ロギング・レベル階層がデフォルトで想定されます。たとえば、2つのモジュールのロギング・カテゴリ名がcom.oracle.fooとcom.oracle.foo.barである場合は、com.oracle.fooがcom.oracle.foo.barのルート・ノードになります。このように、子ノードが親をオーバーライドしないかぎり、親ノード(com.oracle.foo)に適用されるロギング・レベルが自動的にcom.oracle.foo.barに適用されます。

つまり、明示的に重大度が構成された最も近い親から重大度が継承されないかぎり、ノードに対して指定されているロギングの重大度が有効です。ルート・ノードは常に明示的に構成されるため、その他の設定がされていない場合は、すべてのノードがルートから重大度を継承します。

表15-1にログ・メッセージの重大度レベルを示します。

表15-1 ログ・メッセージ重大度

重大度

意味

TRACE

診断アクション・ライブラリからのメッセージの場合に使用します。サーバーおよびアプリケーション・クラスの診断インストゥルメンテーションを有効にすると、TRACEメッセージはメソッドのリクエストパスに従います。

DEBUG

デバッグ・メッセージが生成されました。

INFO

通常の処理を報告するために使用する、低レベルの情報メッセージ。

NOTICE

重要度が高い情報メッセージ。

WARNING

不審なオペレーションまたは構成が発生しましたが、通常のオペレーションには影響しません。

ERROR

ユーザー・エラーが発生したことを示します。システムまたはアプリケーションでは、割込みやサービスの限定的な低下を起こすことなくエラーに対処できます。

CRITICAL

システム・エラーまたはサービス・エラーが発生したことを示します。システムは回復できますが、サービスの一時的な損失や永久的な低下が発生する場合があります。

ALERT

システムの特定のサービスだけが使用不能の状態にある。自動回復を実行できない。自動回復を実行できません。この問題を解決するには、管理者がすぐに措置を講じる必要があります。

EMERGENCY

サーバーが使用不能な状態にあります。この重大度は、重大なシステム障害または問題があることを示します。

システムでは、重大度の低いメッセージが数多く生成され、重大度の高いメッセージは少なくなります。たとえば、通常の環境では、INFOメッセージが多く生成され、EMERGENCYメッセージは生成されません。

15.1.1.3 ログ・ファイル

デフォルトでは、Oracle CEPサーバーはORACLE_CEP_HOME/user_projects/domains/DOMAIN_DIR/servernameディレクトリのserver.logとconsoleoutput.logファイルにログ・メッセージを書き込みます。ORACLE_CEP_HOMEは、Oracle CEPインストール・ディレクトリ(d:/oracle_cepなど)、DOMAIN_DIRは、ドメイン・ディレクトリ(my_domainなど)、servernameは、サーバー・インスタンス・ディレクトリ(server1など)です。

ログ・ファイル属性の構成は、15.2.2項「log-file」を参照してください。

server.logファイル・メッセージ形式の詳細は、15.1.1.4.1項「ログ・ファイルへの出力形式」を参照してください。

consoleoutput.logファイル・メッセージ形式の詳細は、15.1.1.4.2項「コンソールへの出力、標準出力および標準エラーの形式」を参照してください。

15.1.1.4 ログ・メッセージ形式

Oracle CEPサーバーは書き込むログ・ファイルの種類によって、異なる形式でログ・メッセージを書き込みます。

- 15.1.1.4.1項「ログ・ファイルへの出力の形式」

- 15.1.1.4.2項「コンソールへの出力、標準出力および標準エラーの形式」

ログ・ファイルの詳細は、15.1.1.3項「ログ・ファイル」を参照してください。

15.1.1.4.1 ログ・ファイルへの出力の形式

システムはメッセージを指定されたログ・ファイルに書き込みます。メッセージは、####接頭辞、タイムスタンプ、重大度、サブシステム、サーバー名、接続、スレッドIDまたはユーザーIDまたはトランザクションID、メッセージID、メッセージとスタック・トレース(ある場合)で構成されます。各属性は山カッコで囲みます。各属性は山カッコで囲まれます。

次に示すのは、サーバー・ログ・ファイルのメッセージ例です(読みやすくするために分割してありますが、実際にはメッセージは1行にある可能性があります)。

####<Feb 25, 2009 10:23:32 AM EST> <Notice> <Deployment> <> <myServer>
<RMI TCP Connection(4)-141.144.123.236> <> <> <> <1235575412801> <BEA-2045000>
<The application bundle "Hello" was deployed successfully to file
[C:\OracleCEP\user_projects\domains\ocep_domain\defaultserver\applications\Hello\Hello.jar]
with version 1235575412708>

15.1.1.4.2 コンソールへの出力、標準出力および標準エラーの形式

システムはメッセージをコンソール、標準出力または標準エラーに書き込みます。メッセージは、ロケール形式のタイムスタンプ、重大度、サブシステム、メッセージIDおよびメッセージで構成されます。

次に示すのは、前のセクションからのメッセージが標準出力に出力される仕組みの例です(読みやすくするために分割してありますが、実際にはメッセージは1行にある可能性があります)。

<Feb 25, 2009 10:23:32 AM EST> <Notice> <Deployment> <BEA-2045000>
<The application bundle "Hello" was deployed successfully to file
[C:\OracleCEP\user_projects\domains\ocep_domain\defaultserver\applications\Hello\Hello.jar]
with version 1235575412708>

15.1.2 OSGiフレームワーク・ロガー

Oracle CEPには、OSGiフレームワークよりも前に起動する低レベルのフレームワーク・ロガーがあります。このロガーはOSGiフレームワーク内部のロギング・イベントを報告するために使用され、ロギング・サブシステムが構成されるまでロギング・サブシステムのカスタム・デフォルトとして機能します。

たとえば、ユーザーに表示されるログ・メッセージのレベルまたは重大度はconfig.xmlでの設定より低く、コンソールのLauncherコマンド・ラインまたはログ・ファイルでの設定と同じまたはそれより高い可能性があります。ロギング・サブシステムが起動するまで、ログ・メッセージはフレームワーク・ロガーから送信され、フレームワークのロギング・レベルを使用してメッセージがフィルタ処理されます。

15.1.3 Log4jロガー

Log4jは、アプリケーションにログ文を指定するために開発されたオープン・ソースのツールです。Log4jには3つの主要なコンポーネントがあります。

- 15.1.3.1項「ロガー」

- 15.1.3.2項「アペンダ」

- 15.1.3.3項「レイアウト」

Log4j Javaロギング機能は、Apache FoundationのJakartaプロジェクトによって開発されました。次を参照してください。

- Log4jプロジェクトは、http://logging.apache.org/log4j/を参照してください。

- Log4j APIは、http://logging.apache.org/log4j/docs/api/index.htmlを参照してください。

- Log4jの簡単な説明は、http://logging.apache.org/log4j/1.2/manual.htmlを参照してください。

詳細は、15.3項「Log4jロギングの構成」を参照してください。

15.1.3.1 ロガー

Log4jでは、Loggerクラスを定義します。1つのアプリケーションで、それぞれが一意の名前を持つ複数のロガーを作成できます。Log4jの一般的な使用方法では、アプリケーションで、ログ・メッセージを出力する各アプリケーション・クラスのLoggerインスタンスが作成されます。ロガーはネームスペースの階層内に存在し、その階層における上位クラスから動作を継承します。

15.1.3.2 アペンダ

Log4jには、ロギング出力の宛先を表すアペンダ(ハンドラ)を定義します。複数のアペンダを定義できます。たとえば、1つのアプリケーションで、ログ・メッセージを標準出力に送信するアペンダと、ログ・メッセージをファイルに書き込むアペンダを定義できます。個々のロガーを構成して、0以上のアペンダに書き込むように構成することもできます。一例としては、すべてのロギング・メッセージ(全レベル)をログ・ファイルに送信する一方で、標準出力にはERRORレベル・メッセージのみを送信する使用方法があります。

15.1.3.3 レイアウト

Log4jには、ログ・メッセージのフォーマットを制御するためのレイアウトが定義されています。各レイアウトは特定のメッセージ・フォーマットを指定します。特定のレイアウトが各アペンダに関連付けられています。これにより、標準出力に対してファイル出力とは異なるログ・メッセージ・フォーマットを指定できます。例:

15.2 Oracle CEPロギング・サービスの構成

Oracle CEP Visualizerを使用するかOracle CEPサーバーconfig.xmlファイルを編集することにより、Oracle CEPロギング・サービス属性を構成します。

Oracle CEP Visualizerを使用したロギングの構成の詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のログの管理に関する項を参照してください。

config.xmlファイルは、ORACLE_CEP_HOME/user_projects/domains/DOMAIN_DIR/servername/configディレクトリにあります。ORACLE_CEP_HOMEは、Oracle CEPインストール・ディレクトリ(d:/oracle_cepなど)、DOMAIN_DIRは、ドメイン・ディレクトリ(my_domainなど)、servernameは、サーバー・インスタンス・ディレクトリ(server1など)です。

例15-1は、ロギング要素を含む一般的なOracle CEPサーバーconfig.xmlファイルを示しています。

例15-1 ロギング構成を含むOracle CEPサーバーconfig.xmlファイル

<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2007 sp2 (http://www.altova.com)-->
<n1:config
xsi:schemaLocation="http://www.bea.com/ns/wlevs/config/server wlevs_server_config.xsd"
xmlns:n1="http://www.bea.com/ns/wlevs/config/server"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
...
<name>myLogService</name>
<log-file-config>myFileConfig</log-file-config>
<stdout-config>myStdoutConfig</stdout-config>
<logger-severity>Notice</logger-severity>
<logger-severity-properties>
<entry>
<key>LifeCycle</key>
<value>Notice</value>
</entry>
<entry>
<key>Management</key>
<value>Notice</value>
</entry>
<entry>
<key>CQLProcessor</key>
<value>Notice</value>
</entry>
<entry>
<key>EplProcessor</key>
<value>Notice</value>
</entry>
<entry>
<key>Stream</key>
<value>Notice</value>
</entry>
<entry>
<key>Ede</key>
<value>Notice</value>
</entry>
<entry>
<key>Cache</key>
<value>Notice</value>
</entry>
<entry>
<key>Adapters</key>
<value>Notice</value>
</entry>
<entry>
<key>Spring</key>
<value>Notice</value>
</entry>
<entry>
<key>Channel</key>
<value>Notice</value>
</entry>
<entry>
<key>Recplay</key>
<value>Notice</value>
</entry>
<entry>
<key>Monitor</key>
<value>Notice</value>
</entry>
<entry>
<key>Server</key>
<value>Notice</value>
</entry>
<entry>
<key>EventTrace</key>
<value>Notice</value>
</entry>
<entry>
<key>Deployment</key>
<value>Notice</value>
</entry>
</logger-severity-properties>
</logging-service>
<log-file>
<name>myFileConfig</name>
<rotation-type>none</rotation-type>
</log-file>
<log-stdout>
<name>myStdoutConfig</name>
<stdout-severity>Debug</stdout-severity>
</log-stdout>

</n1:config>

次の項では、Oracle CEPロギングの構成について説明します。

- 15.2.1項「logging-service」

- 15.2.2項「log-file」

- 15.2.3項「log-stdout」

- 15.2.4項「個別モジュールの重大度の構成」

15.2.1 logging-service

この項では、logging-service要素について説明します。

表15-2 logging-serviceの構成パラメータ

パラメータ

タイプ

説明

name

String

この構成オブジェクトの名前。

log-file-config

String

ログ・ファイルとそのローテーション・ポリシーの構成。

15.2.2項「log-file」を参照してください。

stdout-config

String

stdout出力の構成に使用されるstdout構成オブジェクトの名前。15.2.3項「log-stdout」を参照してください。

logger-severity

String

ハンドラに伝播されるメッセージのしきい値の重要度を定義します。

デフォルト値は、Infoです。

DebugおよびTraceメッセージを参照するには、logger-severityをDebugまたはTraceに構成します。

有効な値は次のとおりです:Emergency、Alert、Critical、Error、Warning、Notice、Info、DebugおよびTrace

logger-severity-properties

1つ以上の<entry>子要素。

<entry>要素で囲まれた名前と値の組合せのリストです。個別モジュール(パッケージ名、アプリケーション名、クラス名またはCQLProcessorなどのコンポーネント)とモジュールのロギングの重大度を表します。これらの重大度はOracle CEPサーバーのデフォルトの重大度をオーバーライドします。

15.2.4項「個別モジュールの重大度の構成」を参照してください。

15.2.2 log-file

この項では、log-file要素について説明します。

表15-3 log-fileの構成パラメータ

パラメータ

タイプ

説明

name

String

この構成オブジェクトの名前。

base-log-file-name

String

ログ・ファイル名。デフォルト値はserver.logです。

log-file-severity

String

ログ・ファイルに書き込む最も重大度の低いメッセージを指定します。デフォルト値はTraceです。

有効な値は次のとおりです:

- Emergency

- Alert

- Critical

- Error

- Warning

- Notice

- Info

- Debug

- Trace

log-file-rotation-dir

String

ローテーションされた古いファイルを格納するディレクトリを指定します。

設定しない場合、古いファイルは基準ログ・ファイルと同じディレクトリに格納されます。

rotation-type

String

ローテーションをサイズに基づいて実行するか、時間に基づいて実行するか、または実行しないかを指定します。

有効な値は次のとおりです:

- bySize

- byTime

- none

rotation-time

String

時間はk:mm形式で表示します。kは24時間表記で指定した時間で、mmは分です。

デフォルト値は、00:00です。

rotation-time-span-factor

Long

時間ベースのログ・ローテーションの頻度となるミリ秒数を決定するために、時間間隔に適用される係数。デフォルトは3600000です。

rotated-file-count

Integer

number-of-files-limitedがtrueの場合に、保持するローテーションされた古いファイルの数を指定します。デフォルト値は7です。

rotation-size

Integer

ログ・ファイルがローテーションされるサイズのしきい値(KB単位)。デフォルトは500です。

rotation-time-span

Integer

時間ベースのすべてのログ・ローテーションについて、間隔を指定します。デフォルト値は24です。

rotate-log-on-startup-enabled

Boolean

trueの場合、ログ・ファイルは起動時にローテーションされます。デフォルト値はtrueです。

number-of-files-limited

Boolean

trueの場合、ローテーションされた古いファイルが削除されます。デフォルトはfalseです。

15.2.3 log-stdout

この項では、log-stdout要素について説明します。

表15-4 log-stdoutの構成パラメータ

パラメータ

タイプ

説明

name

String

この構成オブジェクトの名前。

stdout-severity

String

stdoutに送信されるメッセージのしきい値の重大度。デフォルト値はNoticeです。

有効な値は次のとおりです:

- Emergency

- Alert

- Critical

- Error

- Warning

- Notice

- Info

- Debug

- Trace

stack-trace-depth

Integer

stdoutに表示するスタック・トレース・フレームの数。

デフォルト値-1は、すべてのフレームが表示されることを意味します。

stack-trace-enabled

Boolean

trueの場合、ログに記録されたメッセージにスタック・トレースが含まれているときは、スタック・トレースがコンソールにダンプされます。デフォルト値はtrueです。

15.2.4 個別モジュールの重大度の構成

Oracle CEPの個別モジュールはロギングの重大度を指定できます。この重大度はOracle CEPサーバーのデフォルトのロギング重大度をオーバーライドします。

これは、Oracle CEPサーバーconfig.xmlファイルのlogger-severity-properties要素にentry子要素を指定して実行します。任意の数のモジュールに対して複数のentry子要素を指定できます。

個別モジュールの重大度を構成するには:

1. Oracle CEPサーバーconfig.xmlファイルを編集します。

2. 例15-2で示すように、logger-severity-properties要素にentry子要素を追加します。

例15-2 logger-severity-properties要素のentry子要素

<logging-service>
<name>myLogService</name>
<logger-severity>Warning</logger-severity>
<logger-severity-properties>
...
<entry>
<key>CQLProcessor</key>
<value>Debug</value>
</entry>
...
</logger-severity-properties>
...
</logging-service>

3. key要素を次のいずれかに設定します。

- コンポーネント名: 表15-5に示すコンポーネント名定数。

表15-5 ロギング・コンポーネント名定数

コンポーネント名定数

説明

Adapters

Oracle CEPサーバー上で実行中のアダプタ・インスタンスからのログ・メッセージに適用されます。

Cache

Oracle CEPサーバー上で実行中のキャッシュ・システムおよびキャッシュ・インスタンスからのログ・メッセージに適用されます。

Channel

Oracle CEPサーバー上で実行中のチャネルからのログ・メッセージに適用されます。

CQLProcessor

Oracle CEPサーバー上で実行中のOracle CQLプロセッサからのログ・メッセージに適用されます。

CQLServer

各CQLプロセッサのコアにあるCQLEngineからのログ・メッセージに適用されます。

CQLServerTrace

各CQLプロセッサのコアにあるCQLEngineからのログ・メッセージに適用されます。

EplProcessor

Oracle CEPサーバー上で実行中のEPLプロセッサからのログ・メッセージに適用されます。

Ede

Oracle CEPサーバー・イベント・ディスパッチ・インフラストラクチャのイベント駆動環境からのログ・メッセージに適用されます。

EventTrace

InfoまたはDebugに設定すると、すべてのアプリケーションのEPN内で動向中のイベントをトレースできます。Oracle CEP Visualizerを使用してこのログ・キーの重大度を動的に変更できます。

Info重大度では、次のようなログ・メッセージが表示されます。

<May 26, 2009 5:53:49 PM PDT> <Info> <EventTrace>
<BEA-000000> <Application [helloworld],
Stage [helloworldOutputChannel] received insert event>

Debug重大度では、ログ・メッセージには次のイベントの詳細が含まれています。

<May 26, 2009 6:02:34 PM PDT> <Debug> <EventTrace>
<BEA-000000> <Application [helloworld],
Stage [helloworldOutputChannel] received insert
event [HelloWorldEvent: HelloWorld - the current
time is: 6:02:34 PM]>

Lifecycle

Oracle CEPサーバーからのログ・メッセージおよびアプリケーション・ライフサイクル操作に適用されます。

Management

Oracle CEPサーバーの一般的なJMX関連管理のAPI操作からのログ・メッセージに適用されます。

Monitor

Oracle CEPサーバー・モニタリング・サービスからのログ・メッセージに適用されます。

Recplay

Oracle CEPサーバーのイベント記録および再生操作からのログ・メッセージに適用されます。

Spring

Springコンテナ操作からのログ・メッセージに適用されます。

Stream

Oracle CEPサーバー上で実行中のストリーム・インスタンスからのログ・メッセージに適用されます。

例:

<entry>
<key>CQLProcessor</key>
<value>Debug</value>
</entry>

- アプリケーション名: Oracle CEPサーバーまたはユーザー定義アプリケーションのモジュール名。例:

<entry>
<key>sample.HelloWorld</key>
<value>Debug</value>
</entry>

- パッケージ名: Oracle CEPサーバーまたはユーザーが提供するJavaパッケージの名前。例:

<entry>
<key>com.bea.wlevs.ede</key>
<value>Debug</value>
</entry>

Oracle CEPサーバー・パッケージの詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing Java APIリファレンス』を参照してください。

- クラス名: Oracle CEPサーバーまたはユーザー定義クラスの完全修飾名前。例:

<entry>
<key>com.bea.wlevs.cep.core.EPRuntimeImpl</key>
<value>Debug</value>
</entry>

Oracle CEPサーバー・クラスの詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing Java APIリファレンス』を参照してください。

4. value要素に重大度レベルを設定します。
15.1.1.2項「ログの重大度レベルの使用」を参照してください。

例:

<entry>
<key>CQLProcessor</key>
<value>Debug</value>
</entry>

例15-2で示すように、この重大度レベルはkey要素に指定したモジュールに適用され、logger-severity要素に設定されたデフォルトのOracle CEPサーバー・ロギング重大度レベルをオーバーライドします。

5. その他のモジュールに対して、ステップ2からのステップを繰り返します。

6. config.xmlファイルを保存して閉じます。

15.3 Log4jロギングの構成

Oracle CEPはオープン・ソースlog4jロギング・システムをサポートします。

この節では、以下のタスクについて説明します。

- 15.3.1項「Log4jプロパティの構成」

- 15.3.2項「アプリケーション・マニフェストの構成」

- 15.3.3項「Log4jロギングの有効化」

- 15.3.4項「Log4jロギングのデバッグ」

詳細は、15.1.3項「Log4jロガー」を参照してください。

15.3.1 Log4jプロパティの構成

デフォルトの構成ファイルはlog4j.propertiesです。この指定は、log4j.configurationシステム・プロパティを使用してオーバーライドできます。https://www.qos.ch/shop/products/log4j/log4j-Manual.jspを参照してください。

log4j.propertiesファイルの例を次に示します。

例15-3 log4j.propertiesファイルの例

log4j.rootLogger=debug, R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=D:/log4j/logs/mywebapp.log
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
log4j.logger=DEBUG, R

15.3.2 アプリケーション・マニフェストの構成

次の必要なLog4jパッケージをインポートするためにアプリケーションのMANIFEST.MFファイルを更新します。

Import-Package:
org.apache.log4j;version="1.2.13",
org.apache.log4j.config;version="1.2.13",
...

15.3.3 Log4jロギングの有効化

Log4j Loggerへのロギングを指定するには、コマンド・ラインで以下のシステム・プロパティを設定します。

-Dorg.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl
-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
-Dlog4j.configuration=<URL>/log4j.properties

-Dlog4j.debug=trueは、非常に重要なもう1つのコマンド・ライン・プロパティです。このプロパティは、log4j出力に失敗した場合または暗号エラー・メッセージが返された場合に使用します。

15.3.4 Log4jロギングのデバッグ

log4j出力に失敗した場合または暗号エラー・メッセージが返された場合に、-Dlog4j.debug=trueのコマンド・ライン・プロパティをコマンド・ラインで使用します。

詳細は、15.3.3項「Log4jロギングの有効化」を参照してください。

15.4 Apache CommonsロギングAPIの使用

server.logおよびconsoleoutput.logファイルにアプリケーション固有のメッセージをログするためにOracle CEPアプリケーション内のApache Commons logging APIを使用できます。

commonsロギングAPIを使用するには:

1. システム・プロパティorg.apache.commons.logging.LogFactoryをweblogic.logging.commons.LogFactoryImplに設定します。
このLogFactoryは、org.apache.commons.logging.Logインタフェースを実装するweblogic.logging.commons.LogFactoryImplのインスタンスを作成します。

2. LogFactoryから、名前を基準にCommons Logオブジェクトへの参照を取得します。
この名前は、ログ・ファイル内でサブシステム名として表示されます。

3. Logオブジェクトを使用して、ロギング・サービスにログ・リクエストを発行します。
Commons Logインタフェース・メソッドは、オブジェクトを受け付けます。ほとんどの場合、これはメッセージ・テキストを含む文字列です。

Commons LogObjectは、コンストラクタにメッセージID、サブシステム名、および文字列メッセージ引数を取り込みます。http://jakarta.apache.org/commons/logging/api/index.htmlのorg.apache.commons.loggingを参照してください。

4. weblogic.logging.commons.LogImplログ・メソッドは、メッセージをサーバー・ログに送ります。

例15-4 Commonsのサンプル・コード

import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;

public class MyCommonsTest {
public void testCommonsLogging() {
System.setProperty(LogFactory.FACTORY_PROPERTY,
"weblogic.logging.commons.LogFactoryImpl");
Log clog = LogFactory.getFactory().getInstance("MyCommonsLogger");
// Log String objects
clog.debug("Hey this is common debug");
clog.fatal("Hey this is common fatal", new Exception());
clog.error("Hey this is common error", new Exception());
clog.trace("Dont leave your footprints on the sands of time");
}
}

15.5 Oracle CEPデバッグ・オプションの構成

表15-6は、Oracle CEPが提供するデバッグ・オプションを示しています。これらのデバッグ・オプションを有効または無効にしてOracle CEPアプリケーションの問題を診断できます。

表15-6 デバッグ・フラグ

デバッグ・フラグ

説明

com.bea.core.debug.DebugBootBundle

ブート・デバッグ

com.bea.core.debug.DebugBootBundle.stdout

ブート・デバッグのデバッグ文字列がstdoutに送られます

com.bea.core.debug.DebugCM

構成マネージャ

com.bea.core.debug.DebugCM.stdout

構成マネージャのデバッグ文字列がstdoutに送られます

com.bea.core.debug.DebugConfigurationRuntime

ランタイムMBeanからのランタイム情報

com.bea.core.debug.DebugCSS

CSS

com.bea.core.debug.DebugCSS.stdout

CSSのデバッグ文字列がstdoutに送られます

com.bea.core.debug.DebugCSSServices

CSSサービス

com.bea.core.debug.DebugCSSServices.stdout

CSSサービスのデバッグ文字列がstdoutに送られます

com.bea.core.debug.DebugJDBCConn

JDBC接続

com.bea.core.debug.DebugJDBCInternal

JDBC内部

com.bea.core.debug.DebugJDBCRMI

JDBC RMI

com.bea.core.debug.DebugJDBCSQL

JDBC SQL

com.bea.core.debug.DebugJTA2PC

JTA 2PC

com.bea.core.debug.DebugJTA2PCDetail

JTA 2PCDetail

com.bea.core.debug.DebugJTA2PCStackTrace

JTA 2PCStackTrace

com.bea.core.debug.DebugJTAGateway

JTAゲートウェイ

com.bea.core.debug.DebugJTAGatewayStackTrace

JTA GatewayStackTrace

com.bea.core.debug.DebugJTAHealth

JTAヘルス

com.bea.core.debug.DebugJTAJDBC

JTA JDBC

com.bea.core.debug.DebugJTALifecycle

JTAライフサイクル

com.bea.core.debug.DebugJTALLR

JTA LLR

com.bea.core.debug.DebugJTAMigration

JTA移行

com.bea.core.debug.DebugJTANaming

JTAネーミング

com.bea.core.debug.DebugJTANamingStackTrace

JTA NamingStackTrace

com.bea.core.debug.DebugJTANonXA

JTA NonXA

com.bea.core.debug.DebugJTAPropagate

JTAの伝播

com.bea.core.debug.DebugJTARecovery

JTAのリカバリ

com.bea.core.debug.DebugJTAResourceHealth

JTA ResourceHealth

com.bea.core.debug.DebugJTATLOG

JTA TLOG

com.bea.core.debug.DebugJTAXA

JTA XA

com.bea.core.debug.DebugJTAXAStackTrace

JTA XAStackTrace

com.bea.core.debug.DebugNetIO

NetIO

com.bea.core.debug.DebugOX

OSGiからJMX (OX)へ

com.bea.core.debug.DebugOX.stdout

OSGiからJMX (OX)へ - デバッグが標準出力に送られます。

com.bea.core.debug.DebugSCP

簡易構成プロバイダ

com.bea.core.debug.DebugSCP.stdout

Simple Configuration Providerのデバッグ文字列がstdoutに送られます

com.bea.core.debug.DebugSDS

単純な宣言サービス

com.bea.core.debug.DebugSDS.stdout

SDSデバッグ文字列がstdoutに送られます

com.bea.core.debug.DebugServiceHelper

サービス・ヘルパー

com.bea.core.debug.DebugServiceHelper.stdout

サービス・ヘルパーのデバッグ文字列がstdoutに送られます

com.bea.core.debug.DebugStoreAdmin

ストア管理

com.bea.core.debug.DebugStoreIOLogical

ストアIOLogical

com.bea.core.debug.DebugStoreIOLogicalBoot

ストアIOLogicalBoot

com.bea.core.debug.DebugStoreIOPhysical

ストアIOPhysical

com.bea.core.debug.DebugStoreIOPhysicalVerbose

ストアIOPhysicalVerbose

com.bea.core.debug.DebugStoreXA

ストアXA

com.bea.core.debug.DebugStoreXAVerbose

ストアXAVerbose

com.bea.core.debug.servicehelper.dumpstack

サービス・ヘルパーがタイムアウトしたときにスタック・トレースをダンプします

次の項では、これらのOracle CEPデバッグ・オプションの使用方法を説明します。

- 15.5.1項「システム・プロパティを使用したOracle CEPデバッグ・オプションの構成方法」

- 15.5.2項「構成ファイルを使用したOracle CEPデバッグ・オプションの構成方法」

Log4jロギングを使用している場合、15.3.4項「Log4jロギングのデバッグ」を参照してください。

15.5.1 システム・プロパティを使用したOracle CEPデバッグ・オプションの構成方法

システム・プロパティを使用してデバッグを構成するには、次のステップを実行します。

この手順では、Oracle CEPサーバーstartwlevs.shファイルを使用して、Simple Declarative Services (SDS)デバッグ(表15-6からのcom.bea.core.debug.DebugSDS)をオンにします。

システム・プロパティを使用してOracle CEPデバッグ・オプションを構成するには:

1. 表15-6でDebugSDSフラグを検索します。

com.bea.core.debug.DebugSDS

2. フラグの前に-Dを付けてプロパティを作成します。

-Dcom.bea.core.debug.DebugSDS

3. プロパティをtrueに設定してこのデバッグ・フラグを有効にします。

-Dcom.bea.core.debug.DebugSDS=true

4. このプロパティとstartwlevs.shを使用して、Oracle CEPサーバーを起動します。

./startwlevs.sh -Dcom.bea.core.debug.DebugSDS=true

15.5.2 構成ファイルを使用したOracle CEPデバッグ・オプションの構成方法

構成ファイルからデバッグを構成するには、次の手順を実行します。

この手順では、Oracle CEPサーバーconfig.xmlファイルのSimple Declarative Services (SDS)デバッグ(表15-6からのcom.bea.core.debug.DebugSDS)をオンにします。

構成ファイルを使用してOracle CEPデバッグ・オプションを構成するには:

1. 表15-6でDebugSDSフラグを検索します。

com.bea.core.debug.DebugSDS

2. フラグ名からcom.bea.core.debug.パッケージ名を省略してXMLタグを作成します。

<DebugSDS></DebugSDS>

3. 例15-5で示すように、Oracle CEPサーバーconfig.xmlファイルを編集して、debug要素とともにdebug-properties子要素を追加します。

4. 例15-5で示すように、DebugSDS要素をdebug-properties要素に追加します。

5. 例15-5で示すように、DebugSDS要素をtrueに設定してこのデバッグ・フラグを有効にします。

例15-5 デバッグ・フラグ用のdebug-properties要素の作成

<config>
<debug>
<debug-properties>
<DebugSDS>true</DebugSDS>
</debug-properties>
</debug>

</config>

6. 例15-6で示すように、logging-service要素のlogger-severityをDebugに設定します。

7. 例15-6で示すように、log-stdout要素のstdout-severityをDebugに設定します。

例15-6 デバッグ・ロギングの有効化

<config>
<debug>
<debug-properties>
<DebugSDS>true</DebugSDS>
</debug-properties>
</debug>

<logging-service>
<logger-severity>Debug</logger-severity>
<stdout-config>logStdout</stdout-config>
<log-file-config>logFile</log-file-config>
</logging-service>

<log-file>
<name>logFile</name>
<log-file-severity>Debug</log-file-severity>
<number-of-files-limited>true</number-of-files-limited>
<rotated-file-count>4</rotated-file-count>
<rotate-log-on-startup-enabled>true</rotate-log-on-startup-enabled>
</log-file>

<log-stdout>
<name>logStdout</name>
<stdout-severity>Debug</stdout-severity>
</log-stdout>
</config>

第V部

リファレンス

第V部には次の章が含まれます:

- 付録A「wlevs.Adminコマンドライン・リファレンス」

- 付録B「デプロイヤ・コマンドライン・リファレンス」

- 付録C「Securityユーティリティ・コマンドライン・リファレンス」

A wlevs.Adminコマンドライン・リファレンス

この付録では、Oracle CEPの管理、Oracle Continuous Query Languageプロセッサのルールの動的構成、およびイベントの待機時間およびスループットの監視に使用できる、Oracle Complex Event Processing (Oracle CEP)のwlevs.Adminユーティリティへの参照を提供します。

- A.1項「wlevs.Adminユーティリティの概要」

- A.2項「wlevs.Adminユーティリティ環境の構成」

- A.3項「リモートでwlevs.Adminユーティリティの実行」

- A.4項「SSLモードでのwlevs.Adminユーティリティの実行」

- A.5項「wlevs.Adminユーティリティを起動するための構文」

- A.6項「接続引数」

- A.7項「ユーザー資格証明の引数」

- A.8項「共通引数」

- A.9項「使用方法ヘルプを起動するためのコマンド」

- A.10項「サーバー・ライフサイクルを管理するためのコマンド」

- A.11項「アプリケーションのOracle CQLルールを管理するためのコマンド」

- A.12項「アプリケーションのEPLルールを管理するためのコマンド」

- A.13項「Oracle CEP MBeanを管理するためのコマンド」

- A.14項「イベントの記録および再生を制御するためのコマンド」

- A.15項「スループットおよび待機時間を監視するためのコマンド」

- A.16項「構成履歴を管理するためのコマンド」

A.1 wlevs.Adminユーティリティの概要

wlevs.Adminユーティリティはコマンドライン・インタフェースであり、Oracle CEPを管理し、特に、Oracle CQLおよびEPLプロセッサのルールを動的に構成して、アプリケーションのイベント待機時間およびスループットを監視します。このユーティリティは、内部でJMXを使用してOracle CEPサーバーとデプロイされたアプリケーションの両方の構成およびランタイムMBeanに対して問合せます。

Oracle CEP構成フレームワークにより、アプリケーションとOracle CEPサーバー構成の両方に対して複数のユーザーによって同時変更が可能になります。フレームワークは、この同時実行性を管理するためにロック処理は使用しませんが、オプティミスティック・バージョン・ベース同時実行性を使用します。これは、2人のユーザーが常に更新対象の同一オブジェクトの構成を表示できますが、それらに対する変更の確定は1人のユーザーのみに許可されるということを意味します。同じ構成オブジェクトを更新しようとする場合、他のユーザーにはエラーが表示され、更新された構成を表示するためにはセッションをリフレッシュする必要があります。

それぞれのwlevs.Adminユーティリティ・コマンドは独自のトランザクションで実行します。各コマンドの実行後に暗黙的に確定されるということになります。複数の構成変更を1回のトランザクションで一括処理する場合は、wlevs.Adminユーティリティを使用せず、JMXを使用して直接変更を実行する必要があります。

A.2 wlevs.Adminユーティリティ環境の構成

wlevs.Adminユーティリティを使用する前に、環境を適切に構成する必要があります。

wlevs.Adminユーティリティ環境を構成するには:

1. Oracle CEPソフトウェアをインストールおよび構成します。『Oracle Fusion Middleware Oracle Complex Event Processingスタート・ガイド』のOracle CEPのインストールに関する項を参照してください。

2. 管理対象ドメインのJMX接続を構成します。第12章「Oracle CEP用のJMXの構成」を参照してください。

3. コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項を参照してください。

4. 次のいずれかの方法でCLASSPATHを設定します。

1. ユーティリティの実行時に-jar引数を使用して、CLASSPATHを暗黙的に設定します。
引数をORACLE_CEP_HOME/ocep_11.1/bin/wlevsadmin.jarファイルに設定します。ここで、ORACLE_CEP_HOMEは、メインのOracle CEPインストール・ディレクトリを示します。

-jar引数を使用するとき、コマンドラインでwlevs.Adminユーティリティ名は指定しないでください。例:

prompt> java -jar d:/oracle_cep/ocep_11.1/bin/wlevsadmin.jar
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
UPLOAD -application helloworld -processor helloworldProcessor
-sourceURL file:///d:/test/newrules2.xml

2. 次のファイルをCLASSPATH環境変数に追加して、明示的にCLASSPATHを更新します。

ORACLE_CEP_HOME/ocep_11.1/bin/wlevsadmin.jar
ORACLE_CEP_HOME/ocep_11.1/bin/wlevs.jar
ORACLE_CEP_HOME/ocep_11.1/modules/com.bea.wlevs.deployment.server_11.1.0.0.jar
ORACLE_CEP_HOME/ocep_11.1/modules/com.bea.wlevs.ede_11.1.0.0.jar
ORACLE_CEP_HOME/ocep_11.1/modules/com.bea.wlevs.management_11.1.0.0.jar
ORACLE_CEP_HOME/modules/com.bea.core.jndi.context_6.0.0.0.jar
ORACLE_CEP_HOME/modules/com.bea.core.jmx_6.0.0.0.jar
ORACLE_CEP_HOME/modules/com.bea.core.rmi_6.0.0.0.jar
ORACLE_CEP_HOME/modules/com.bea.core.i18n_1.4.0.0.jar
ORACLE_CEP_HOME/modules/com.bea.core.diagnostics.core_2.1.0.0.jar
ORACLE_CEP_HOME/modules/javax.xml.stream_1.1.1.0.jar
ORACLE_CEP_HOME/com.bea.core.bootbundle_8.0.0.0.jar

ここで、ORACLE_CEP_HOMEは、Oracle CEPをインストールする先のメイン・ディレクトリを示します。

A.3 リモートでwlevs.Adminユーティリティの実行

wlevs.Adminユーティリティは、Oracle CEPがインストールされて稼働しているコンピュータとは異なるコンピュータ上で実行する方が有用な場合があります。

リモートでwlevs.Adminユーティリティを実行するには:

1. Oracle CEPがインストールされているコンピュータから次のJARファイルを、wlevs.Adminを実行する対象のコンピュータへコピーします。JARファイルを任意のディレクトリ名へコピーできます。

ORACLE_CEP_HOME/ocep_11.1/bin/wlevsadmin.jar
ORACLE_CEP_HOME/ocep_11.1/bin/wlevs.jar
ORACLE_CEP_HOME/ocep_11.1/modules/com.bea.wlevs.deployment.server_11.1.0.0.jar
ORACLE_CEP_HOME/ocep_11.1/modules/com.bea.wlevs.ede_11.1.0.0.jar
ORACLE_CEP_HOME/ocep_11.1/modules/com.bea.wlevs.management_11.1.0.0.jar
ORACLE_CEP_HOME/modules/com.bea.core.jndi.context_6.0.0.0.jar
ORACLE_CEP_HOME/modules/com.bea.core.jmx_6.0.0.0.jar
ORACLE_CEP_HOME/modules/com.bea.core.rmi_6.0.0.0.jar
ORACLE_CEP_HOME/modules/com.bea.core.i18n_1.4.0.0.jar
ORACLE_CEP_HOME/modules/com.bea.core.diagnostics.core_2.1.0.0.jar
ORACLE_CEP_HOME/modules/javax.xml.stream_1.1.1.0.jar

ここで、ORACLE_CEP_HOMEは、Oracle CEPをインストールする先のメイン・ディレクトリを示します。

2. 次のいずれかの方法でCLASSPATHを設定します。

- ユーティリティの実行時に-jar引数を使用して、暗黙的にCLASSPATHを設定し、引数をNEW_DIRECTORY/wlevsadmin.jarファイルに設定します。ここで、NEW_DIRECTORYは、必要なJARファイルをコピーしたリモート・コンピュータ上のディレクトリを示します。-jar引数を使用するとき、コマンドラインでwlevs.Adminユーティリティ名は指定しないでください。

- リモート・コンピュータへコピーしたすべてのファイルをCLASSPATH環境変数に追加して、明示的にCLASSPATHを更新します。

3. 次の項で説明されているように、wlevs.Adminユーティリティを起動します。

A.4 SSLモードでのwlevs.Adminユーティリティの実行

wlevs.Adminコマンドライン・ユーティリティを使用するときにSSLを使用するには、最初に信頼キーストアを作成する必要があります。

詳細は、10.1.4項「SSL」を参照してください。

wlevs.AdminユーティリティをSSLモードで実行するには:

1. コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項を参照してください。

2. Oracle CEPサーバーが起動していない場合は、起動します。
1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

3. DOMAIN_DIR/servername/sslディレクトリに変更を加えます。ここで、DOMAIN_DIRはメインのドメイン・ディレクトリを示し、servernameはサーバー名を示します。
例:

d:\oracle_cep\user_projects\domains\mydomain\myserver\ssl.

4. 次のコマンドを指定して、トラスト・キーストアを生成します(実際には、コマンドは1行にする必要があります)。

prompt> java -classpath ORACLE_CEP_HOME\ocep_11.1\common\lib\evspath.jar;ORACLE_CEP_HOME\ocep_11.1\utils\security\wlevsgrabcert.jar
com.bea.wlevs.security.util.GrabCert host:secureport
-alias=alias truststorepath

説明

- ORACLE_CEP_HOMEは、Oracle CEPのインストール・ディレクトリ(d:/oracle_cepなど)を意味します。

- hostは、server2が実行されているコンピュータを意味します。

- secureportは、server2用に構成されたSSLネットワーク入出力ポートを意味します。デフォルト値は9003です。
詳細は、10.5.1項「手動でSSLの構成方法」の例10-5を参照してください。

- aliasは、トラスト・キーストアにある証明書の別名です。デフォルト値はhostnameです。

- truststorepathは、生成されるトラスト・キーストア・ファイルのフル・パス名を意味します。デフォルトはevstrust.jksです。

次のような例があります(実際には、コマンドは1行にする必要があります)。

prompt> java -classpath C:\OracleCEP\ocep_11.1\common\lib\evspath.jar;C:\OracleCEP\ocep_11.1\utils\security\wlevsgrabcert.jar
com.bea.wlevs.security.util.GrabCert server2:9003 -alias=server2 evstrust.jks

wlevs.Adminコマンドライン・ユーティリティはこの信頼キーストアを使用することを指定するには、次のプロパティを使用します:

- -Djavax.net.ssl.trustStore: 前述の手順で作成した信頼キーストア名。

- -Djavax.net.ssl.trustStorePassword: 信頼キーストア・ファイルのパスワード。

また、URLには必ずセキュア・ポートを指定してください。例:

prompt> java
-Djavax.net.ssl.trustStore=clitrust.jks
-Djavax.net.ssl.trustStorePassword=secret
-jar wlevsadmin.jar
-url service:jmx:msarmis://localhost:9003/jndi/jmxconnector
-username wlevs -password wlevs
SHUTDOWN -scheduleAt 600

A.5 wlevs.Adminユーティリティを起動するための構文

wlevs.Adminユーティリティを使用するための構文は次のとおりです。

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
COMMAND-NAME command-arguments

コマンド名と引数では、大文字と小文字は区別されません。

次の項では、wlevs.Adminユーティリティに指定できる引数に関する構文の詳細情報を説明します。

- A.6項「接続引数」

- A.7項「ユーザー資格証明の引数」

- A.8項「共通引数」

次の項では、wlevs.Adminユーティリティのサポートされているコマンドに関する構文の詳細情報を説明します。

- A.9項「使用方法ヘルプを起動するためのコマンド」

- A.10項「サーバー・ライフサイクルを管理するためのコマンド」

- A.11項「アプリケーションのOracle CQLルールを管理するためのコマンド」

- A.12項「アプリケーションのEPLルールを管理するためのコマンド」

- A.13項「Oracle CEP MBeanを管理するためのコマンド」

- A.14項「イベントの記録および再生を制御するためのコマンド」

- A.15項「スループットおよび待機時間を監視するためのコマンド」

A.5.1 環境の例

以降の節に示す例の多くは、次のような特定の環境が設定されていることを前提としています。

- Oracle CEPインスタンスは、ポート9002でJMXリクエストをリスニングします。

- Oracle CEPインスタンスは、arielという名前のホスト・マシン上にインストールされ、このホスト名をリスニング・アドレスとして使用します。

- wlevsというユーザー名には、システム管理者権限が与えられており、パスワードにはwlevsが使用されます。

なお、わかりやすくするために例は複数行に分けて示していますが、コマンドを実行するときは、すべての引数とコマンドを1行に入力してください。

A.5.2 wlevs.Adminによって戻された終了コード

すべてのwlevs.Adminコマンドは、コマンドが成功した場合は終了コード0を返し、コマンドが失敗した場合は終了コード1を返します。

Windowsコマンド・プロンプトから終了コードを表示するには、wlevs.Adminコマンドの実行後にecho %ERRORLEVEL%と入力します。bashシェルで終了コードを表示するには、echo $?と入力します。

wlevs.Adminは、コマンドの処理中に例外が発生する場合、System.exit(1)を呼び出し、Antおよび他のJavaクライアントJVMを終了させます。

A.6 接続引数

java wlevs.Admin
[ {-url URL} | {-listenAddress hostname -listenPort port} ]
[ User Credentials Arguments ]
[ Common Arguments ]
COMMAND-NAME command-arguments

ほとんどのwlevs.Adminコマンドを起動するときには、表A-1の引数を指定してOracle CEPインスタンスに接続します。

表A-1 接続引数

引数

定義

-url service:jmx:msarmi://host:port/jndi/jmxconnector

管理する対象のOracle CEPインスタンスとのJMX接続を確立するURLを指定します。説明:

- hostは、Oracle CEPインスタンスが稼働中のコンピュータ名を示します。

- portは、Oracle CEPサーバーのJNDIポートを示します。

この引数を使用する場合、-listenAddressも-listenPortも指定しないでください。

host以外に、記述されているとおりに残りのURLを指定します。

たとえば、Oracle CEPがarielというホスト名のコンピュータで実行されており、JMXリスニング・ポートが9002である場合、URLは次のようになります。

-url service:jmx:msarmi://ariel:9002/jndi/jmxconnector

Oracle CEPのJMX、JNDI、およびRMIの構成に関する詳細は、第12章「Oracle CEPのJMXの構成」を参照してください。

-listenAddress hostname

Oracle CEPインスタンスが稼働中のコンピュータ名を指定します。この引数は、-listenPortと共に、管理対象のサーバーへのJMX接続を確立するURLを構築するために使用されます。

この引数は、-urlのかわりに、-listenPortと共に使用します。

たとえば、Oracle CEPがarielというホスト名のコンピュータ上で稼働している場合、この引数は次のとおりになります。

-listenAddress ariel

-listenPort port

JMX接続をリスニングするOracle CEPに構成されたポートを指定します。この引数は、-listenAddressと共に、管理対象のサーバーへのJMX接続を確立するURLを構築するために使用されます。

この引数は、-urlのかわりに、-listenAddressと共に使用します。

JMXポートは、管理対象のOracle CEPドメインのconfig.xmlファイルで構成されます。特に、このポートは次に示すように<netio>要素の<port>子要素です。

<netio>
<name>NetIO</name>
<port>9002</port>
</netio>

たとえば、このポートが9002なら、引数として次のように指定します。

-listenPort 9002

Oracle CEPのJMX、JNDI、およびRMIの構成に関する詳細は、第12章「Oracle CEPのJMXの構成」を参照してください。

A.7 ユーザー資格証明の引数

java wlevs.Admin
[ Connection Arguments ]
[ -username username [-password password] ]
[ Common Arguments ]
COMMAND-NAME command-arguments

ほとんどのwlevs.Adminコマンドを起動するときには、表A-2の引数を指定し、コマンドを起動する権限を持つOracle CEPユーザーのユーザー資格証明を提供します。

Oracle CEPドメインに対してセキュリティが有効になっていない場合には、ユーザー資格証明を入力する必要はありません。

表A-2 ユーザー資格証明の引数

引数

定義

-username username

コマンドを発行するユーザーの名前。このユーザーには、コマンドのターゲットを表示または変更するための適切な許可が必要です。

-password password

このユーザー名に関連付けられたパスワード。

注意:

すべてのコマンドについて、wlevs.Adminユーティリティがサーバーに接続できない場合、またはOracle CEPインスタンスでユーザー名とパスワードが拒否された場合、終了コードは1になります。

A.8 共通引数

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ -verbose ]
COMMAND-NAME command-arguments

すべてのwlevs.Adminコマンドは、詳細出力を取得するために表A-3の引数をサポートしています。

表A-3 共通引数

引数

定義

-verbose

wlevs.Adminが追加の詳細情報を出力することを指定します。

A.9 使用方法ヘルプを起動するためのコマンド

この項では、使用方法ヘルプを起動するためのコマンドを説明します。

A.9.1 HELP

すべてのOracle CEPコマンド(デフォルト)について、またはHELPコマンド・ラインに値としてコマンドを指定した場合は単一のコマンドについて、構文と使用法に関する情報を表示します。

このコマンドは、Oracle CEPがインストールされている任意のコンピュータで発行できます。このコマンドを呼び出すためにサーバー・インスタンスを起動する必要はありません。また、サーバーに対してセキュリティが有効になっている場合でも、ユーザー資格証明を入力する必要はありません。

A.9.1.1 構文

java wlevs.Admin HELP [COMMAND]

COMMAND引数は次のとおりになります。

- キーワードALLは、すべてのコマンドの使用情報を戻します。

- キーワードMBEAN、RULES、またはLIFECYCLEのいずれかで、3つの異なるグループのコマンドに関する使用情報を戻します。

- UPLOADなどの実際のコマンドで、特定のコマンドに関する使用方法情報を戻します。

A.9.1.2 例

次の例では、UPLOADコマンドの使用法に関する情報をリクエストしています。

prompt> java wlevs.Admin HELP UPLOAD

コマンドが次を返します(実際には、Javaコマンドは1行にする必要があります)。

Description:
Uploads rules to be configured in the processor.

Usage:
java wlevs.Admin
[-url | -listenAddress <host-name> -listenPort <port>]
-username <username> -password <password>
UPLOAD -application <application name> -processor <processor name> -sourceURL "source url"

Where:
-application = Name of the application.
-processor = Name of the processor.
-sourceURL = source URL containing the rules in an XML format.

java wlevs.Admin -url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs UPLOAD -application myapplication
-processor processor -sourceURL file:/d:/test/rules.xml

A.10 サーバー・ライフサイクルを管理するためのコマンド

表A-4は、サーバー・インスタンスのライフサイクルを管理するためのコマンドの概要です。後続の項では、コマンド構文および引数について説明し、各コマンドの例を示します。

表A-4 サーバー・ライフサイクルを管理するためのコマンドの概要

コマンド

説明

SHUTDOWN

WebLogic Event Serverを正常に停止します。

A.10.1 SHUTDOWN

指定したOracle CEPインスタンスを正常に停止します。

正常な停止では、進行中の特定のアプリケーションの処理を完了する時間がOracle CEPに与えられます。

-url接続引数は、hostおよびjmxportの値に基づいて、シャットダウンする特定のOracle CEPインスタンスを指定します。詳細は、A.6項「接続引数」を参照してください。

A.10.1.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
SHUTDOWN [-scheduleAt seconds]

表A-5 SHUTDOWN引数

引数

定義

-scheduleAt seconds

Oracle CEPインスタンスが停止するまでの秒数を指定します。

このパラメータを指定しない場合、サーバー・インスタンスはただちに停止します。

A.10.1.2 例

次の例は、指定したOracle CEPインスタンスを10分後に停止することを指示しています。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
SHUTDOWN -scheduleAt 600

コマンドの発行後に、サーバー・インスタンスはログ・ファイルと標準出力にメッセージを出力します。メッセージには、サーバーの状態が変更されることと停止シーケンスが開始されることが示されます。

A.11 アプリケーションのOracle CQLルールを管理するためのコマンド

表A-6は、Oracle CEPアプリケーションの特定プロセッサのOracle CQLルールを管理するコマンドの概要です。後続の項では、コマンド構文および引数について説明し、各コマンドの例を示します。

表A-6 アプリケーションのOracle CQLルールを管理するためのコマンドの概要

コマンド

説明

GETRULE

Oracle CEPアプリケーションのプロセッサの既存Oracle CQLルール、問合せ、またはビューのテキストを戻します。

ADDRULE

新規Oracle CQLルール、問合せ、またはビューをOracle CEPアプリケーションのプロセッサに追加します。

DELETERULE

既存Oracle CQLルール、問合せ、またはビューをOracle CEPアプリケーションのプロセッサから削除します。

REPLACERULE

既存Oracle CQLルール、問合せ、またはビューを新規Oracle CQLテキストに置換します。

STARTRULE

以前に停止したOracle CQLルールまたは問合せを開始します。

STOPRULE

以前に開始したOracle CQLルールまたは問合せを停止します。

UPLOAD

コンポーネント構成XMLファイルからルールをアップロードして、Oracle CQLルール、問合せ、またはビューのセットをOracle CEPアプリケーションのプロセッサに構成します。

DOWNLOAD

Oracle CEPアプリケーションのプロセッサに関連付けられたOracle CQLルール、問合せ、またはビューのセットをコンポーネント構成XMLファイルにダウンロードします。

A.11.1 GETRULE

Oracle CEPアプリケーションの指定されたOracle CQLプロセッサからOracle CQLルール、問合せ、またはビューの全文を戻します。

A.11.1.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
GETRULE -application application -processor processor -rule rulename

表A-7 GETRULE引数

引数

定義

-application application

Oracle CQLルールを管理する対象のOracle CEPアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のOracle CQLプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのOracle CQLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule rulename

参照するOracle CQLルール、問合せ、またはビューの名前を指定します。

ルール、問合せ、またはビューの名前が不明な場合は、それに対して問い合せるための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。また、DOWNLOADコマンドを使用して特定のプロセッサのルール・リストも取得できます。

A.11.1.2 例

次の例は、myviewというOracle CQLビューの全文をhelloworldアプリケーションのOracle CQL helloworldProcessorから取得する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
GETRULE -application helloworld -processor helloworldProcessor
-rule myview

A.11.2 ADDRULE

新規Oracle CQLルール、問合せ、またはビューをOracle CEPアプリケーションの指定されたプロセッサに追加します。

同一名のルール、問合せ、またはビュー(rulename、queryname、またはviewnameパラメータで識別される)がすでに存在する場合、ADDRULEコマンドが既存のルール、問合せ、またはビューを新規のものに置換します。

注意:

Oracle CQL問合せは、その入力チャネルが入力イベントを提供する場合、すぐにイベントの出力を開始します。チャネル上で問合せセレクタとアップストリームOracle CQLプロセッサを併用する場合、問合せをアップストリームOracle CQLプロセッサに追加する時刻と、ダウンストリーム・チャネル上で問合せセレクタを構成する時刻との間で、ダウンストリーム・チャネル上で要求していない問合せ結果を観察する場合があります。詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のチャネル・プロパティ: 問合せセレクタを使用したアウトバウンド・チャネルに関する項を参照してください。

A.11.2.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
ADDRULE -application application -processor processor
-rule  [rulename]  rulestring  |
-query [queryname] querystring |
-view  [viewname]  viewstring [-schema comma-separated-names]
[-active true | false]

表A-8 ADDRULE引数

引数

定義

-application application

Oracle CQLルールを管理する対象のOracle CEPアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのOracle CQLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule [rulename] rulestring

アプリケーションの指定プロセッサに追加するOracle CQLルールを指定します。Oracle CQLルールには次が含まれます。

- REGISTER|CREATE FUNCTION (集計および単一行関数)

- REGISTER|CREATE WINDOW

rulenameパラメータは不要です。これを指定しない場合、Oracle CEPが名前を生成します。

Oracle CQLのrulestringを二重引用符で囲んで入力します。

-query [queryname] querystring

アプリケーションの指定プロセッサに追加するOracle CQL問合せを指定します。

querynameパラメータは不要です。これを指定しない場合、Oracle CEPが名前を生成します。

Oracle CQLのquerystringを二重引用符で囲んで入力します。

-view [viewname] viewstring [-schema comma-separated-names]

アプリケーションの指定プロセッサに追加するOracle CQLビューを指定します。

viewnameパラメータは不要です。これを指定しない場合、Oracle CEPが名前を生成します。

Oracle CQLのviewstringを二重引用符で囲んで入力します。

comma-separated-namesパラメータは不要です。これを指定しない場合、Oracle CEPがviewstringのSELECT文に基づいてスキーマを生成します。

-active true | false

ルールが開始され、追加後にイベントを処理する準備ができているかどうかを指定します。

この引数の有効な値はtrue (追加後にルールを開始)またはfalse (追加後にルールを開始しない)で、デフォルト値はtrueです。falseに設定する場合、STARTRULEを使用してルールを開始します。

A.11.2.2 例

次の例では、Oracle CQL問合せSELECT * FROM Withdrawal [Rows 5]を、myqueryという名前で、helloworldアプリケーションのOracle CQLプロセッサhelloworldProcessorに追加する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
ADDRULE -application helloworld -processor helloworldProcessor
-query myquery "SELECT * FROM Withdrawal [Rows 5]"

A.11.3 DELETERULE

既存のOracle CQLルールをOracle CEPアプリケーションの指定プロセッサから削除します。

A.11.3.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
DELETERULE -application application -processor processor -rule rulename

表A-9 DELETERULE引数

引数

定義

-application application

Oracle CQLルールを管理する対象のOracle CEPアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのOracle CQLルール、問合せ、およびビューが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule rulename

削除するOracle CQLルール、問合せ、またはビューの名前を指定します。

ルール名が不明な場合は、それを問い合せるための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。また、DOWNLOADコマンドを使用して特定のOracle CQLプロセッサのルール、問合せ、またはビューのリストも取得できます。

A.11.3.2 例

次の例は、myviewというOracle CQLビューをhelloworldアプリケーションのOracle CQL helloworldProcessorから削除する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
DELETERULE -application helloworld -processor helloworldProcessor -rule myview

A.11.4 REPLACERULE

既存のOracle CQLルール、問合せ、またはビューを別のルール、問合せ、またはビューに置換します。Oracle CEPは、最初に元のルール、問合せ、またはビューを破棄してから、新規のものをそれぞれの場所に挿入します。

A.11.4.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
REPLACERULE -application application -processor processor
-rule rulename rulestring

表A-10 REPLACERULE引数

引数

定義

-application application

Oracle CQLルールを管理する対象のOracle CEPアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のOracle CQLプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのOracle CQLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule rulename rulestring

置換するOracle CQLルール、問合せ、またはビューの名前を指定します。Oracle CEPは、古いルール、問合せ、またはビューを削除してから、新規のものを同一の名前で、ただしルール・テキストは新規にして挿入します。ビューの場合、Oracle CEPはrulestringのSELECT文に基づいてスキーマを生成します。

Oracle CQLのrulestringを二重引用符で囲んで入力します。

A.11.4.2 例

次の例では、myqueryというOracle CQL問合せを、helloworldアプリケーションのOracle CQL helloworldProcessorのOracle CQLテキストSELECT * FROM Withdrawal [Rows 10]に置換する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
REPLACERULE -application helloworld -processor helloworldProcessor
-rule myquery "SELECT * FROM Withdrawal [Rows 10]"

A.11.5 STARTRULE

Oracle CEPアプリケーションの指定プロセッサで以前に停止された既存のOracle CQLルールまたは問合せを開始します。

A.11.5.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
STARTRULE -application application -processor processor -rule rulename

表A-11 STARTRULE引数

引数

定義

-application application

Oracle CQLルールを管理する対象のOracle CEPアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのOracle CQLルール、問合せ、およびビューが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule rulename

開始するOracle CQLルールまたは問合せの名前を指定します。

注意: ビューの停止と開始はできません。ビューは常にアクティブです。

ルール名が不明な場合は、それを問い合せるための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。また、DOWNLOADコマンドを使用して特定のOracle CQLプロセッサのルール、問合せ、またはビューのリストも取得できます。

A.11.5.2 例

次の例は、myqueryというOracle CQL問合せをhelloworldアプリケーションのOracle CQL helloworldProcessorから開始する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
STARTRULE -application helloworld -processor helloworldProcessor -rule myquery

A.11.6 STOPRULE

Oracle CEPアプリケーションの指定プロセッサで以前に開始された既存のOracle CQLルールまたは問合せを停止します。

A.11.6.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
STOPRULE -application application -processor processor -rule rulename

表A-12 STOPRULE引数

引数

定義

-application application

管理対象のOracle CQLルールまたは問合せを持つOracle CEPアプリケーション名を指定します。

完全一致アプリケーション名が現在不明な場合、それを取得するためのwlevs.Adminの使用に関する詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

また、アプリケーションのMANIFEST.MFファイルを参照すると、完全一致アプリケーション名を取得できます。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのOracle CQLルール、問合せ、およびビューが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule rulename

停止するOracle CQLルールまたは問合せの名前を指定します。

注意: ビューの停止と開始はできません。ビューは常にアクティブです。

ルール名が不明な場合は、それを問い合せるための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。また、DOWNLOADコマンドを使用して特定のOracle CQLプロセッサのルール、問合せ、またはビューのリストも取得できます。

A.11.6.2 例

次の例は、myqueryというOracle CQL問合せをhelloworldアプリケーションのOracle CQL helloworldProcessorから停止する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
STOPRULE -application helloworld -processor helloworldProcessor -rule myquery

A.11.7 UPLOAD

指定プロセッサに構成されたOracle CQLルールを、アップロードされたコンポーネント構成ファイルのOracle CQLルールに置換します。

Oracle CQLルールが含まれるコンポーネント構成ファイルは、コンポーネント構成ファイルのスキーマに準拠しています(『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のコンポーネントの構成XSDスキーマ: wlevs_application_config.xsdに関する項を参照してください)。このファイルには、指定プロセッサに現在構成されているルールを置換する1つ以上のOracle CQLルールが含まれます。そのようなコンポーネント構成ファイルの例は、次のとおりです。

<?xml version="1.0" encoding="UTF-8" ?>
<config>
<processor>
<name>helloworldProcessor</name>
<rules>
<query id="helloworldRule1">
<![CDATA[  SELECT * FROM HelloWorldEvent [Rows 2] ]]>
</query>
</rules>
</processor>
</config>

前述の例では、コンポーネント構成ファイルは、helloworldRule1という名前の単一の Oracle CQL問合せを構成し、そのOracle CQL問合せテキストはSELECT * FROM HelloWorldEvent [Rows 2]です。

警告:

wlevs.AdminユーティリティのUPLOADコマンドを使用するとき、他のOracle CQLコマンドを実行するときと同様に、-processor引数を使用して、Oracle CQLプロセッサ名をOracle CQLルールの追加先に指定します。これは、ネーミング競合を避けるために、ユーティリティがコンポーネント構成ファイル内の任意の<name>要素を無視することを意味します。

コンポーネント構成ファイルの作成に関する詳細および例は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のOracle CQLプロセッサの構成に関する項を参照してください。

A.12.9項「DOWNLOAD」で説明されているように、DOWNLOADコマンドを使用して、プロセッサのコンポーネント構成ファイルのコピーを取得できます。

A.11.7.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
UPLOAD -application application -processor processor -sourceURL sourcefileURL

表A-13 UPLOAD引数

引数

定義

-application application

Oracle CQLルールを管理する対象のOracle CEPアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のOracle CQLプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのOracle CQLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-sourceURL sourcefileURL

次の形式のOracle CQLルールを含むコンポーネント構成ファイルのURLを指定します。

file:///path-to-file

A.11.7.2 例

次の例は、c:\processor\config\myrules.xmlファイルのOracle CQLルールをhelloworldアプリケーションのOracle CQL helloworldProcessorへアップロードする方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
UPLOAD -application helloworld -processor helloworldProcessor
-sourceURL file:///c:/processor/config/myrules.xml

A.11.8 DOWNLOAD

Oracle CEPアプリケーションの指定されたOracle CQLプロセッサに関連付けられたOracle CQLルール・セットを、XMLコンポーネント構成ファイルへダウンロードします。

このXMLファイルは、A.12.8項「UPLOAD」で説明されているのと同一の形式です。

A.11.8.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
DOWNLOAD -application application -processor processor
-file destinationfile [-overwrite overwrite]

表A-14 DOWNLOAD引数

引数

定義

-application application

Oracle CQLルールを管理する対象のOracle CEPアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのOracle CQLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-file destinationfile

wlevs.Adminユーティリティを使用してOracle CQLルールをダウンロードする先のコンポーネント構成XMLファイル名を指定します。

必ずファイルのフル・パス名を指定してください。

-overwrite overwrite

wlevs.Adminユーティリティが既存ファイルをオーバーライドするかどうかを指定します。

この引数の有効な値は、trueまたはfalseで、デフォルト値はfalseです。

A.11.8.2 例

次の例では、helloworldアプリケーションのOracle CQL helloworldProcessorに付属のOracle CQLルール・セットを、c:\processor\config\myrules.xmlファイルへダウンロードする方法を示します。ユーティリティは任意の既存ファイルをオーバーライドします。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
DOWNLOAD -application helloworld -processor helloworldProcessor
-file c:\processor\config\myrules.xml -overwrite true

A.12 アプリケーションのEPLルールを管理するためのコマンド

表A-15は、Oracle CEPアプリケーションの特定プロセッサのEPLルールを管理するためのコマンドの概要です。後続の項では、コマンド構文および引数について説明し、各コマンドの例を示します。

表A-15 アプリケーションのEPLルールを管理するためのコマンドの概要

コマンド

説明

ADDRULE

Oracle CEPアプリケーションのプロセッサに新しいEPLルールを追加します。

DELETERULE

Oracle CEPアプリケーションのプロセッサから既存のEPLルールを削除します。

REPLACERULE

既存のEPLルールを新しいEPLテキストと置き換えます。

GETRULE

Oracle CEPアプリケーションのプロセッサに適用されている既存のEPLルールのテキストを返します。

UPLOAD

XMLファイルからルールをアップロードすることによって、Oracle CEPアプリケーションのプロセッサに適用するEPLルールのセットを構成します。

DOWNLOAD

Oracle CEPアプリケーションのプロセッサに関連付けられているEPLルールのセットをファイルにダウンロードします。

ADDPARAMS

パラメータ化されたEPL問合せに新しいパラメータ・セットを追加します。

DELETEPARAMS

パラメータ化されたEPL問合せからパラメータ・セットを削除します。

GETPARAMS

パラメータ化されたEPL問合せに現在バインドされているパラメータを返します。

A.12.1 ADDRULE

Oracle CEPアプリケーションの指定したプロセッサに新しいEPLルールを追加します。

同一名のルール(rulenameパラメータで識別される)がすでに存在する場合、ADDRULEコマンドが既存ルールを新規ルールに置換します。

A.12.1.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
ADDRULE -application application -processor processor -rule [rulename] rulestring

表A-16 ADDRULE引数

引数

定義

-application application

EPLルールを管理する対象のOracle CEPアプリケーションを指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのEPLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule [rulename] rulestring

アプリケーションの指定したプロセッサに追加するEPLルールを指定します。

rulenameパラメータは不要です。これを指定しない場合、Oracle CEPが名前を生成します。

EPLルールを二重引用符で囲んで入力します。

A.12.1.2 例

次の例では、EPLルールSELECT * FROM Withdrawal RETAIN 5 EVENTSを、myruleという名前で、helloworldアプリケーションのhelloworldProcessorへ追加する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
ADDRULE -application helloworld -processor helloworldProcessor
-rule myrule "SELECT * FROM Withdrawal RETAIN 5 EVENTS"

A.12.2 DELETERULE

Oracle CEPアプリケーションの指定したプロセッサから既存のEPLルールを削除します。

A.12.2.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
DELETERULE -application application -processor processor -rule rulename

表A-17 DELETERULE引数

引数

定義

-application application

EPLルールを管理する対象のOracle CEPアプリケーションを指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのEPLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule rulename

削除するEPLルールの名前を指定します。

ルール名が不明な場合は、それを問い合せるための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。また、DOWNLOADコマンドを使用して特定のプロセッサのルール・リストも取得できます。

A.12.2.2 例

次の例は、myruleというEPLルールをhelloworldアプリケーションのhelloworldProcessorから削除する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
DELETERULE -application helloworld -processor helloworldProcessor
-rule myrule

A.12.3 REPLACERULE

既存のEPLルールを別のルールで置き換えます。Oracle CEPは最初に元のルールを破棄し、次に新しいルールをその場所に挿入します。元のルールがパラメータ化されている場合、既存のバインディングがあれば新しいルールに適用されます。

A.12.3.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
REPLACERULE -application application -processor processor -rule rulename rulestring

表A-18 REPLACERULE引数

引数

定義

-application application

EPLルールを管理する対象のOracle CEPアプリケーションを指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのEPLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule rulename rulestring

置き換えるEPLルールを指定します。Oracle CEPは古いルールを削除してから、新しいルール(同じ名前でルール・テキストが新しい)を挿入します。

EPLルールを二重引用符で囲んで入力します。

A.12.3.2 例

次の例では、myruleというルールを、helloworldアプリケーションのhelloworldProcessorのEPLテキストSELECT * FROM Withdrawal RETAIN 10 EVENTSに置換する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
REPLACERULE -application helloworld -processor helloworldProcessor
-rule myrule "SELECT * FROM Withdrawal RETAIN 10 EVENTS"

A.12.4 GETRULE

Oracle CEPアプリケーションの指定したプロセッサからEPLルールのテキスト全体を返します。

A.12.4.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
GETRULE -application application -processor processor -rule rulename

表A-19 GETRULE引数

引数

定義

-application application

EPLルールを管理する対象のOracle CEPアプリケーションを指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのEPLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule rulename

テキスト全体を表示するEPLルールの名前を指定します。

ルール名が不明な場合は、それを問い合せるための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。また、DOWNLOADコマンドを使用して特定のプロセッサのルール・リストも取得できます。

A.12.4.2 例

次の例は、myruleというEPLルールの全文をhelloworldアプリケーションのhelloworldProcessorから取得する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
GETRULE -application helloworld -processor helloworldProcessor
-rule myrule

A.12.5 ADDPARAMS

パラメータ化されたEPL問合せに新しいパラメータ・セットを追加します。

パラメータ化されたEPL問合せの使用に関する詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing EPL言語リファレンス』のパラメータ化された問合せに関する項を参照してください。

A.12.5.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
ADDPARAMS -application application -processor processor
-rule rulename -values values -params params

表A-20 ADDPARAMS引数

引数

定義

-application application

EPLルールを管理する対象のOracle CEPアプリケーションを指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのパラメータ化されたEPLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule rulename

新しいパラメータ・セットの追加先であるパラメータ化されたEPLルールの名前を指定します。

ルール名が不明な場合は、それを問い合せるための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。また、DOWNLOADコマンドを使用して特定のプロセッサのルール・リストも取得できます。

-values values

追加するパラメータのカンマ区切りの値リストを指定します。各値は、パラメータ化されたEPL問合せ内のプレースホルダーに対応します。

-params params

この新しいパラメータ・セットの一意の識別子を指定します。

A.12.5.2 例

次の例は、ADDPARAMSコマンドの使用方法を示しています。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
ADDPARAMS -application myApplication -processor myProcessor
-rule MarketRule
-values "NYSE,BGP" -params nyBGP

この例では、NYSE,BGPという値を持ち、文字列nyBGPによって識別されるパラメータ・セットを、myApplicationのmyProcessorコンポーネントで実行中のパラメータ化された問合せMarketRuleへ追加する方法を示します。このパラメータ・セットは2つの値によって構成されるため、EPL問合せには2つのプレースホルダーが含まれる必要があります。

A.12.6 DELETEPARAMS

パラメータ化されたEPL問合せに関連付けられたパラメータ・セットの1つまたはすべてを削除します。

パラメータ化されたEPL問合せの使用に関する詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing EPL言語リファレンス』のパラメータ化された問合せに関する項を参照してください。

A.12.6.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
DELETEPARAMS -application application -processor processor
-rule rulename [-params params]

表A-21 DELETEPARAMS引数

引数

定義

-application application

EPLルールを管理する対象のOracle CEPアプリケーションを指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのパラメータ化されたEPLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule rulename

1つまたはすべてのパラメータ・セットを削除しようとしているパラメータ化されたEPLルールの名前を指定します。

ルール名が不明な場合は、それを問い合せるための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。また、DOWNLOADコマンドを使用して特定のプロセッサのルール・リストも取得できます。

-params params

削除するパラメータ・セットを指定します。

この引数はオプションです。これを指定しない場合、wlevs.Adminは、パラメータ化されたEPLルールに現在関連付けられているすべてのパラメータ・セットを削除します。

A.12.6.2 例

次の例は、DELETEPARAMSコマンドの使用方法を示しています。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
DELETEPARAMS -application myApplication -processor myProcessor
-rule MarketRule
-params nasORCL

この例では、nasORCL文字列で識別されるパラメータ・セットを、myApplicationのmyProcessorコンポーネントで実行中のパラメータ化された問合せMarketRuleから削除する方法を示します。

この問合せに関連付けられたすべてのパラメータ・セットを削除するには、-paramsオプションを指定しません:

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
DELETEPARAMS -application myApplication -processor myProcessor
-rule MarketRule

A.12.7 GETPARAMS

パラメータ化されたEPL問合せに現在バインドされている1つまたはすべてのパラメータ・セットを返します。

パラメータ化されたEPL問合せの使用に関する詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing EPL言語リファレンス』のパラメータ化された問合せに関する項を参照してください。

A.12.7.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
GETPARAMS -application application -processor processor
-rule rulename [-params params]

表A-22 GETPARAMS引数

引数

定義

-application application

EPLルールを管理する対象のOracle CEPアプリケーションを指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのパラメータ化されたEPLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule rulename

パラメータ・セットを取得しようとしているパラメータ化されたEPLルールの名前を指定します。

ルール名が不明な場合は、それを問い合せるための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。また、DOWNLOADコマンドを使用して特定のプロセッサのルール・リストも取得できます。

-params params

取得しようとしているパラメータ・セットを指定します。

この引数はオプションです。これを指定しない場合、wlevs.Adminは、パラメータ化されたEPLルールに現在関連付けられているすべてのパラメータ・セットを戻します。

A.12.7.2 例

次の例は、GETPARAMSコマンドの使用方法を示しています。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
GETPARAMS -application myApplication -processor myProcessor
-rule MarketRule

この例では、myApplicationのmyProcessorコンポーネントで実行中のパラメータ化された問合せMarketRuleに現在関連付けられているすべてのパラメータを取得する方法を示します。コマンドは次の結果を戻します。

NASDAQ,ORCL
NYSE,JPM
NYSE,WFC
NYSE,BGP

特定のパラメータ・セットを取得するには、-paramsオプションを使用してそのIDを指定します:

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
GETPARAMS -application myApplication -processor myProcessor
-rule MarketRule
-params nasORCL

A.12.8 UPLOAD

指定したプロセッサの構成済EPLルールを、アップロードしたXMLファイルのEPLルールと置き換えます。

EPLルールが含まれるXMLファイルは、コンポーネント構成ファイルのスキーマに準拠しています(『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のコンポーネントの構成XSDスキーマ: wlevs_application_config.xsdに関する項を参照してください)。このファイルには、指定プロセッサに現在構成されているルールを置換する1つ以上のEPLルールが含まれます。XMLファイルの例は次のとおりです。

<?xml version="1.0" encoding="UTF-8" ?>
<config>
<processor>
<name>helloworldProcessor</name>
<rules>
<rule id="helloworldRule1">
<![CDATA[  SELECT * FROM HelloWorldEvent RETAIN 2 EVENTS ]]>
</rule>
</rules>
</processor>
</config>

前述の例では、XMLファイルはhelloworldRule1という名前の単一の ルールを構成し、そのEPL問合せテキストはSELECT * FROM HelloWorldEvent RETAIN 2 EVENTSです。

警告:

wlevs.AdminユーティリティのUPLOADコマンドを使用するときは、他のEPLコマンドの場合と同様に、-processor引数を使用して、EPLルールを追加するプロセッサの名前を指定します。つまり、名前の競合を避けるために、XMLファイル内の<name>要素はすべて無視されます。

EPLルールのXMLファイルの作成に関する詳細および例は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のEPLプロセッサの構成に関する項を参照してください。

A.12.8.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
UPLOAD -application application -processor processor -sourceURL sourcefileURL

表A-23 UPLOAD引数

引数

定義

-application application

EPLルールを管理する対象のOracle CEPアプリケーションを指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのEPLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-sourceURL sourcefileURL

EPLルールを含むXMLファイルのURLを指定します。

A.12.8.2 例

次の例は、c:\processor\config\myrules.xmlファイルのEPLルールをhelloworldアプリケーションのhelloworldProcessorへアップロードする方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
UPLOAD -application helloworld -processor helloworldProcessor
-sourceURL file:///c:/processor/config/myrules.xml

A.12.9 DOWNLOAD

Oracle CEPアプリケーションの指定したプロセッサに関連付けられているEPLルールのセットをXMLファイルにダウンロードします。

このXMLファイルは、A.12.8項「UPLOAD」で説明されているのと同一の形式です。

A.12.9.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
DOWNLOAD -application application -processor processor
-file destinationfile [-overwrite overwrite]

表A-24 DOWNLOAD引数

引数

定義

-application application

EPLルールを管理する対象のOracle CEPアプリケーションを指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのEPLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-file destinationfile

wlevs.AdminユーティリティでダウンロードするEPLルールのダウンロード先となるXMLファイルの名前を指定します。

必ずファイルのフル・パス名を指定してください。

-overwrite overwrite

wlevs.Adminユーティリティが既存ファイルをオーバーライドするかどうかを指定します。

この引数の有効な値は、trueまたはfalseで、デフォルト値はfalseです。

A.12.9.2 例

次の例では、helloworldアプリケーションのhelloworldProcessorに現在付属のEPLルール・セットを、c:\processor\config\myrules.xmlファイルへダウンロードする方法を示します。ユーティリティは任意の既存ファイルをオーバーライドします。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
DOWNLOAD -application helloworld -processor helloworldProcessor
-file c:\processor\config\myrules.xml

A.13 Oracle CEP MBeanを管理するためのコマンド

次の項は、Oracle CEP MBeanを管理するためのwlevs.Adminコマンドを説明します。

- A.13.1項「MBeanタイプの指定」

- A.13.2項「MBean管理コマンド」

Oracle CEP MBeanの詳細な説明は、『Oracle Fusion Middleware Oracle Complex Event Processing Java APIリファレンス』を参照してください。

A.13.1 MBeanタイプの指定

アクセス、表示、または変更する対象のMBean(1つまたは複数)を指定するには、すべてのMBean管理コマンドで、-mbean引数または-type引数を指定する必要があります。

MBeanの単一のインスタンスを操作する場合は、-mbean引数を使用します。

-type引数を使用すると、指定するタイプのインスタンスであるすべてのMBeanに作用します。MBeanのタイプは、MBeanがインスタンスであるインタフェース・クラスを示します。すべてのOracle CEP MBeanは、com.bea.wlevs.management.configuration、com.bea.wlevs.management.runtime、com.bea.wlevs.deployment.mbeanおよびcom.bea.wlevs.server.management.mbeanパッケージで定義されたインタフェース・クラスのいずれかのインスタンスです。すべてのOracle CEP MBeanインタフェース・クラスの完全なリストは、それぞれのパッケージの『Oracle Fusion Middleware Oracle Complex Event Processing Java APIリファレンス』を参照してください。

-type引数に付与する値を決定するには、次の手順を実行します。MBeanのインタフェース・クラスを検索し、MBean接尾辞をクラス名から削除します。たとえば、com.bea.wlevs.management.configuration.CQLProcessorMBeanのインスタンスであるMBeanには、CQLProcessorを使用します。

A.13.2 MBean管理コマンド

表A-25は、MBean管理コマンドの概要です。

表A-25 MBean管理コマンドの概要

コマンド

説明

GET

MBeanのプロパティを表示します。

INVOKE

基になるリソースに対して公開されているMBeanの管理操作を呼び出します。

QUERY

指定するパターンにObjectNameが一致するMBeanを検索します。

SET

指定したMBeanインスタンスに対して、指定したプロパティ値を設定します。

A.13.3 GET

MBeanプロパティ(属性)およびJMXオブジェクト名を表示します(http://java.sun.com/j2se/1.5.0/docs/api/javax/management/ObjectName.html形式)。

コマンドの出力は次のようになります。

{MBeanName object-name {property1 value} {property2 value}. . .}
. . .

プロパティと値は名前と値のペアとして表され、各ペアは中カッコで囲まれています。この形式によって、スクリプトによる出力の解析が容易になります。

-prettyが指定される場合、それぞれのプロパティと値のペアは新しい行に表示され、ペアの区切りに波カッコは使用されません。

MBeanName: object-name
property1: value
property2: value
.
.
.
MBeanName: object-name
property1: value
abbribute2: value

A.13.3.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
GET [-pretty] {-type mbeanType| -mbean objectName} [-property property1] [-property property2]...

表A-26 GET引数

引数

定義

-type mbeanType

指定したタイプのすべてのMBean情報を戻します。詳細は、A.13.1項「MBeanタイプの指定」を参照してください。

-mbean objectName

http://java.sun.com/j2se/1.5.0/docs/api/javax/management/ObjectName.html形式のMBeanの完全修飾オブジェクト名。

たとえば、EPLプロセッサ・ステージのMBeanを参照する場合、ネーミングは次のとおりになります(実際には、文字列は1行にする必要があります)。

"com.bea.wlevs:Name=<name of the Stage>,Type=<type of Mbean>,
Application=<name of the application>"

-pretty

プロパティと値のペアを1行に1組ずつ配置します。

-property property

リストする1つまたは複数のMBeanプロパティ(属性)の名前を指定します。

-propertyが指定されていない場合、すべてのプロパティが表示されます。

A.13.3.2 例

次の例は、helloworldというアプリケーションがOracle CEPにデプロイされたとき、プロセッサ・ステージに登録されたCQLProcessorMBeanのすべてのプロパティを示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
GET -pretty
-mbean com.bea.wlevs:Name=eplprocessor,Type=CQLProcessor,Application=helloworld

次の例は、すべてのCQLProcessorMBean MBeanのすべてのインスタンスを示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
GET -pretty -type CQLProcessor

A.13.4 INVOKE

1つ以上のMBeanの管理操作を起動します。Oracle CEP MBeanでは、通常このコマンドを使用して大半のOracle CEP MBeanが付与するget属性およびset属性以外の操作を起動します。

A.13.4.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
INVOKE {-type mbeanType | -mbean objectName} -method methodname [argument . . .]

表A-27 INVOKE引数

引数

定義

-type mbeanType

特定のタイプのすべてのMBeanに対する操作を起動します。詳細は、A.13.1項「MBeanタイプの指定」を参照してください。

-mbean objectName

http://java.sun.com/j2se/1.5.0/docs/api/javax/management/ObjectName.html形式のMBeanの完全修飾オブジェクト名。

たとえば、EPLプロセッサ・ステージのMBeanを呼び出す場合、名前の指定は次のようになります。

"com.bea.wlevs:Name=<name of the Stage>,Type=<type of Mbean>, Application=<name of the application>"

-method methodname

呼び出すメソッドの名前。

argument

メソッド呼出しに渡される引数。

引数がString配列である場合は、次の形式で引数を渡す必要があります。

"String1;String2;. . . "

A.13.4.2 例

次の例は、MBean com.bea.wlevs.management.configuration.EPLProcessorMBeanのaddRuleメソッドを起動します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
INVOKE -mbean com.bea.wlevs:Name=eplprocessor,Type=EPLProcessor,Application=helloworld
-method addRule "SELECT * FROM Withdrawal RETAIN ALL"

A.13.5 QUERY

指定するパターンにhttp://java.sun.com/j2se/1.5.0/docs/api/javax/management/ObjectName.htmlが一致するOracle CEP MBeanを検索します。

http://java.sun.com/j2se/1.5.0/docs/api/javax/management/ObjectName.htmlのルールに準拠する名前でMBeanサーバーに登録されるOracle CEP MBeanタイプから作成されるすべてのMBean。特定のMBeanインスタンスを取得または変更するためにwlevs.Adminコマンドを使用する場合、MBeanのObjectNameを把握する必要があります。

コマンドの出力は次のようになります。

{MBeanName object-name {property1 value} {property2 value}. . .}
. . .

プロパティと値は名前と値のペアとして表され、各ペアは中カッコで囲まれています。この形式によって、スクリプトによる出力の解析が容易になります。

-prettyが指定される場合、それぞれのプロパティと値のペアは新しい行に表示され、ペアの区切りに波カッコは使用されません。

MBeanName: object-name
property1: value
property2: value
.
.
.
MBeanName: object-name
property1: value
abbribute2: value

A.13.5.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
QUERY -pretty -pattern object-name-pattern

表A-28 QUERY引数

引数

定義

-pretty

プロパティと値のペアを1行に1組ずつ配置します。

-pattern object-name-pattern

QUERYコマンドの検索対象のhttp://java.sun.com/j2se/1.5.0/docs/api/javax/management/ObjectName.htmlの一部。この値は次のパターンに準拠する必要があります。

property-list

ここで、property-listはhttp://java.sun.com/j2se/1.5.0/docs/api/javax/management/ObjectName.htmlの1つ以上のコンポーネント(プロパティと値のペア)を指定します。

プロパティと値のペアは任意の順序で指定できます。

指定したプロパティと値のペアの内部ではパターン・マッチングは行われません。完全なプロパティと値のペアのみがパターン・マッチングで使用されます。ただし、1つまたは複数のプロパティと値のペアのかわりに、*ワイルドカード文字を使用できます。

たとえば、type=epl*は有効ではありませんが、type=EPLProcessor,*は有効です。

property-listのプロパティと値のペアを少なくとも1つ付与すると、property-listがまだカンマ区切りのリストである場合にかぎり、所定のパターンでワイルドカードを任意の場所で検索できます。

A.13.5.2 例

次の例は、すべてのcom.bea.wlevs.management.configuration.EPLProcessorMBean MBeanを検索します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
QUERY -pattern *:Type=EPLProcessor,*

コマンドが成功した場合、検出されたMBeanの属性を戻します(行が折り返されているのは、読みやすくするためです)。

{MBeanName="com.bea.wlevs:Name=MonitorProcessor,Type=EPLProcessor,Application=com.bea.wlevs.dataservices"{
AllRules=defaultRule = select * from DSMonitorEvent retain 1 event where metric > 10000}{
AllRulesInfo=defaultRule = {RULE_TYPE=RULE, STARTED=true, VALUE=select * from DSMonitorEvent
retain 1 event where metric > 10000, ID=defaultRule}}{Databases=}{Name=MonitorProcessor}
{NotificationInfo=[Ljavax.management.MBeanNotificationInfo;@20d319}
{ObjectName=com.bea.wlevs:Name=MonitorProcessor,Type=EPLProcessor,
Application=com.bea.wlevs.dataservices}{PlaybackConfiguration=}{PlayingBack=false}
{RecordConfiguration=}{RecordPlayback=com.bea.wlevs:Name=MonitorProcessor,
Type=RecordPlayback,Application=com.bea.wlevs.dataservices}{Recording=false}
{Type=EPLProcessor}}

A.13.5.3 アプリケーションおよびプロセッサの名前の問合せ

Oracle CEPアプリケーションのEPLルールを管理するためのすべてのコマンドでは、アプリケーション名とルールを適用する先の特定のプロセッサ名を把握する必要があります。通常、これらの名前は把握済ですが、把握していない場合はQUERYコマンドを使用してアプリケーションおよびその付属プロセッサを表すMBeanインスタンスから情報を取得できます。

特に、次の-pattern引数を使用すると、所定のOracle CEPインスタンスのすべてのアプリケーション、プロセッサ、およびルールのリストを取得できます。

-pattern  com.bea.wlevs:*,Type=EPLProcessor

例:

prompt> java wlevs.Admin -url
service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
QUERY -pretty
-pattern com.bea.wlevs:*,Type=EPLProcessor

このコマンドのサンプル出力を次に示します。

Command Output
------------------------------------------------------
MBeanName: "com.bea.wlevs:Name=helloworldProcessor,Type=EPLProcessor,Application=helloworld,"
AllRules:
helloworldRule =  select * from HelloWorldEvent retain 1 event
--end of command output --------

このサンプル出力の項目は次のとおりです。

- アプリケーション名はhelloworldです。

- helloworldアプリケーションには、helloworldProcessorというプロセッサが含まれます。

- helloworldProcessorには、helloworldRuleというルールが含まれます。

A.13.6 SET

指定したプロパティ(属性)値をMBeanに対して設定します。

コマンドが成功した場合、OKを戻してサーバー構成への新しい値を保存します。

A.13.6.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
SET {-type mbeanType | -mbean objectName}
-property property1 property1_value
[-property property2 property2_value] . . .

表A-29 SET引数

引数

定義

-type mbeanType

特定のタイプのすべてのMBeanのプロパティを設定します。詳細は、A.13.1項「MBeanタイプの指定」を参照してください。

-mbean objectName

http://java.sun.com/j2se/1.5.0/docs/api/javax/management/ObjectName.html形式のMBeanの完全修飾オブジェクト名。

"com.bea.wlevs:Name=<name of the stage>,Type=<MBean type>,Application=<name of the deployed application>"

-property property

設定されるプロパティの名前。

property _value

設定される値。

- 一部のプロパティでは、Oracle CEP MBeanの名前を指定する必要があります。この場合、http://java.sun.com/j2se/1.5.0/docs/api/javax/management/ObjectName.html形式のMBeanの完全修飾オブジェクト名を指定します。たとえば(実際には、文字列は1行にする必要があります)。

"com.bea.wlevs:Name=<name of the stage>,Type=<type of MBean>,
Application=<name of the application>"

- プロパティ値がMBean配列のとき、それぞれのMBeanオブジェクト名をセミコロンで区切り、プロパティ値リスト全体を引用符で囲みます。例:

"com.bea.wlevs:Application=<name of the application>,Type=<type of MBean>,Name=<name of the Stage>;Type=<type of MBean>,Name=<name of the stage>"

- プロパティ値が文字列の配列である場合は、各文字列をセミコロンで区切り、プロパティ値のリスト全体を引用符で囲みます。

"String1;String2;. . . "

- プロパティ値が文字列または文字列の配列である場合は、次のいずれかを使用して値をnullに設定できます。

-property property-name ""
-property property-name

- プロパティ値にスペースが含まれる場合は、値を引用符で囲みます。

"-Da=1 -Db=3"

A.13.6.2 例

次の例は、helloworldアプリケーションのhelloworldOutstreamというチャネルのMaxSizeプロパティを設定する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
SET -mbean com.bea.wlevs:Name=helloworldOutstream,Type=Channel,Application=helloworld
-property  MaxSize 1024

A.14 イベントの記録および再生を制御するためのコマンド

表A-30は、Oracle CEPアプリケーションの特定ステージのイベントの記録および再生を管理するためのコマンドの概要です。後続の項では、コマンド構文および引数について説明し、各コマンドの例を示します。

注意:

ステージでイベントの記録および再生を制御するためのコマンドを使用する前に、最初に適切なイベントの記録および再生オプションを使用してステージを構成する必要があります。詳細は、次を参照してください:

- A.14.3項「CONFIGURERECORD」

- 『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のイベントの記録および再生の構成に関する項

表A-30 イベントの記録および再生を制御するためのコマンドの概要

コマンド

説明

STARTRECORD

Oracle CEPアプリケーションのステージに対してイベントの記録を開始します。

STOPRECORD

Oracle CEPアプリケーションのステージに対してイベントの記録を停止します。

CONFIGURERECORD

Oracle CEPアプリケーションのステージに対するイベントの記録に使用するパラメータを構成します。

SCHEDULERECORD

Oracle CEPアプリケーションにおけるステージのイベント記録をスケジュールします。

LISTRECORD

Oracle CEPアプリケーションにおけるステージのイベント記録構成を一覧表示します。

STARTPLAYBACK

Oracle CEPアプリケーションにおけるステージのイベント再生を開始します。

STOPPLAYBACK

Oracle CEPアプリケーションにおけるステージのイベント再生を停止します。

CONFIGUREPLAYBACK

Oracle CEPアプリケーションのステージに対するイベントの再生に使用するパラメータを構成します。

SCHEDULEPLAYBACK

Oracle CEPアプリケーションにおけるステージのイベント再生をスケジュールします。

LISTPLAYBACK

Oracle CEPアプリケーションにおけるステージのイベント再生構成を一覧表示します。

A.14.1 STARTRECORD

Oracle CEPアプリケーションの特定のステージに対してイベントの記録を開始します。

注意:

ステージでイベントの記録および再生を制御するためのコマンドを使用する前に、最初に適切なイベントの記録および再生オプションを使用してステージを構成する必要があります。詳細は、次を参照してください:

- A.14.3項「CONFIGURERECORD」

- 『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のイベントの記録および再生の構成に関する項

ステージを後で記録が開始されるように構成した場合、その構成は無視され、記録はすぐに開始されます。

A.14.1.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
STARTRECORD -application application -stage stage

表A-31 STARTRECORD引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle CEPアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

A.14.1.2 例

次の例は、指定したOracle CEPインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterステージでイベントの記録を開始する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
STARTRECORD -application helloworld -stage helloworldAdapter

注意:

ステージでイベントの記録および再生を制御するためのコマンドを使用する前に、最初に適切なイベントの記録および再生オプションを使用してステージを構成する必要があります。詳細は、次を参照してください:

- A.14.3項「CONFIGURERECORD」

- 『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のイベントの記録および再生の構成に関する項

A.14.2 STOPRECORD

以前にイベントの記録を開始したOracle CEPアプリケーションのステージに対して、イベントの記録を停止します。

A.14.2.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
STOPRECORD -application application -stage stage

表A-32 STOPRECORD引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle CEPアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

A.14.2.2 例

次の例は、指定したOracle CEPインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterステージでイベントの記録を停止する方法を示します。イベントの記録は次のステージに対して開始されていると仮定します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
STOPRECORD -application helloworld -stage helloworldAdapter

A.14.3 CONFIGURERECORD

Oracle CEPアプリケーションのステージに対するイベントの記録に関連したパラメータを構成します。

通常、このコマンドを使用して最初にステージのイベントの記録を構成したり、データセット名またはプロバイダ名を変更したりします。詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のイベントの記録および再生の構成に関する項を参照してください。

A.14.3.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
CONFIGURERECORD -application application -stage stage
[-datasetName datasetname]
[-storeProvider storeprovidername]
[-eventTypes eventtypes]
[-scheduleStartTime startime]
[-scheduleEndTime endtime | -scheduleDuration duration]

表A-33 CONFIGURERECORD引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle CEPアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

-datasetName datasetname

イベントの記録先のデータセット名を指定します。

-storeProvider storeprovidername

Oracle CEPサーバーのconfig.xmlファイルで定義される有効なdata-sourceの名前を指定します。

デフォルトのBDBプロバイダを選択するには、この引数を空白にするか、またはdefault-providerの引数値を指定します。

詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のOracle CEP Server用のイベント・ストアの構成に関する項を参照してください。

-eventTypes eventtypes

記録対象の有効なイベント型の名前のカンマ区切りリストを指定します。イベント型は、イベント型リポジトリで定義される必要があります。

-scheduleStartTime starttime

記録を開始する時刻を指定します。

開始時間を次のXMLSchemaのdateTime値の形式として表します。

yyyy-mm-ddThh:mm:ss

たとえば、記録を2010年1月20日午前5時に開始するように指定するには、次の値を使用します。

2010-01-20T05:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

-scheduleEndTime endtime

記録が終了する実際の時間を指定します。

終了時間を次のXMLSchemaのdateTime値の形式として表します。

yyyy-mm-ddThh:mm:ss

たとえば、記録を2010年1月20日午後6時に終了するように指定するには、次の値を使用します。

2010-01-20T18:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

記録を永久に実行するには、nullを指定します。

-scheduleEndTimeまたは-scheduleDurationのいずれかを指定できますが、両方は指定できません。

-scheduleDuration duration

このステージのイベントの記録が終了するまでの継続時間を指定します。記録を永久に実行するには、nullを指定します。

01:00:00など、形式はHH:mm:ssです。

-scheduleEndTimeまたは-scheduleDurationのいずれかを指定できますが、両方は指定できません。

A.14.3.2 例

この項の例では、指定したOracle CEPインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterのイベントの記録を構成する方法を示します。

次の例では、記録の開始および終了時刻を指定しています。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
CONFIGURERECORD -application helloworld -stage helloworldAdapter
-datasetName myds -storeProvider mysp
-scheduleStartTime 2010-01-20T05:00:00 -scheduleEndndTime 2010-01-20T18:00:00

次の例では、記録の開始時間および継続時間を指定しています。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
CONFIGURERECORD -application helloworld -stage helloworldAdapter
-datasetName myds -storeProvider mysp
-scheduleStartTime 2010-01-20T05:00:00 -scheduleDuration 01:00:00

次の例では、nullの開始時間および継続時間を指定しています。これは、記録が永久に実行されることを意味します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
CONFIGURERECORD -application helloworld -stage helloworldAdapter
-datasetName myds -storeProvider mysp
-scheduleStartTime 2010-01-20T05:00:00 -scheduleDuration null

A.14.4 SCHEDULERECORD

Oracle CEPアプリケーションのステージに関するイベントの記録に関連付けられるスケジュール・パラメータを構成します。

A.14.4.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
SCHEDULERECORD -application application -stage stage
[-scheduleStartTime startime]
[-scheduleEndTime endtime | -scheduleDuration duration]

表A-34 SCHEDULERECORD引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle CEPアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

-scheduleStartTime starttime

記録を開始する時刻を指定します。

開始時間を次のXMLSchemaのdateTime値の形式として表します。

yyyy-mm-ddThh:mm:ss

たとえば、記録を2010年1月20日午前5時に開始するように指定するには、次の値を使用します。

2010-01-20T05:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

-scheduleEndTime endtime

記録が終了する実際の時間を指定します。

終了時間を次のXMLSchemaのdateTime値の形式として表します。

yyyy-mm-ddThh:mm:ss

たとえば、記録を2010年1月20日午後6時に終了するように指定するには、次の値を使用します。

2010-01-20T18:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

記録を永久に実行するには、nullを指定します。

-scheduleEndTimeまたは-scheduleDurationのいずれかを指定できますが、両方は指定できません。

-scheduleDuration duration

このステージのイベントの記録が終了するまでの継続時間を指定します。記録を永久に実行するには、nullを指定します。

01:00:00など、形式はHH:mm:ssです。

-scheduleEndTimeまたは-scheduleDurationのいずれかを指定できますが、両方は指定できません。

A.14.4.2 例

この項の例では、指定したOracle CEPインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterのイベント記録のスケジュールを構成する方法を示します。

次の例では、記録の開始および終了時刻を指定しています。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
SCHEDULERECORD -application helloworld -stage helloworldAdapter
-scheduleStartTime 2010-01-20T05:00:00 -scheduleEndndTime 2010-01-20T18:00:00

A.14.5 LISTRECORD

Oracle CEPアプリケーションの特定のステージに関するイベント記録の構成を一覧表示します。

A.14.5.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
LISTRECORD -application application -stage stage

表A-35 LISTRECORD引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle CEPアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

A.14.5.2 例

次の例は、指定したOracle CEPインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterステージでイベント記録の構成を一覧表示する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
LISTRECORD -application helloworld -stage helloworldAdapter

A.14.6 STARTPLAYBACK

Oracle CEPアプリケーションの特定のステージのイベントの再生を開始します。

A.14.6.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
STARTPLAYBACK -application application -stage stage
[-filterStartTime starttime]
[-filterEndTime endtime | -filterDuration duration]        [-speed speed]         [-repeat true | false]

表A-36 STARTPLAYBACK引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle CEPアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

-filterStartTime startime

この値以上の記録時間を持つイベントのみが再生に選択されるように指定します。

開始時間を次のXMLSchemaのdateTime値の形式として表します。

yyyy-mm-ddThh:mm:ss

たとえば、2010年1月20日午前5時以上の記録時間を持つイベントのみを再生するには、次の値を使用します。

2010-01-20T05:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

すべてのイベントを再生用に指定する場合、nullを指定します。

-filterEndTime endtime

この値以下の記録時間を持つイベントのみが再生に選択されるように指定します。

終了時間を次のXMLSchemaのdateTime値の形式として表します。

yyyy-mm-ddThh:mm:ss

たとえば、2010年1月20日午後6時以下の記録時間を持つイベントのみを再生するには、次の値を使用します。

2010-01-20T18:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

-filterEndTimeまたは-filterDurationのいずれかを指定できますが、両方は指定できません。

-filterDuration duration

イベント・ストアでイベントに適用されるフィルタを指定します。フィルタ時間中に記録されたイベントのみが再生用に選択されます。すべてのイベントを再生用に指定する場合、nullを指定します。

01:00:00など、形式はHH:mm:ssです。

-filterEndTimeまたは-filterDurationのいずれかを指定できますが、両方は指定できません。

-speed speed

再生速度を正のfloatとして指定します。

デフォルト値は1であり、通常の速度に相当します。値2はイベントが元の記録速度の倍の速度で再生されることを意味します。同様に、値0.5はイベントが元の記録速度の半分の速度で再生されることを意味します。

-repeat repeat

指定された期間の再生が終了した後に、イベントをもう一度再生するかどうかを指定します。

有効な値は、trueまたはfalseです。デフォルト値はfalseです。値をtrueに指定すると、繰り返し再生は故意に停止されるまで無限の回数分継続することになります(STOPPLAYBACKを参照してください)。値をfalseに指定すると、イベントは1回のみ再生されることになります。

A.14.6.2 例

次の例は、指定したOracle CEPインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterステージでイベントの再生を開始する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
STARTPLAYBACK -application helloworld -stage helloworldAdapter

A.14.7 STOPPLAYBACK

イベントの再生が以前開始されたOracle CEPアプリケーションのステージに関するイベントの再生を停止します。

A.14.7.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
STOPPLAYBACK -application application -stage stage

表A-37 STOPPLAYBACK引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle CEPアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

A.14.7.2 例

次の例は、指定したOracle CEPインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterステージでイベントの再生を停止する方法を示します。イベントの再生は以前に次のステージに対して開始されたと仮定します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
STOPPLAYBACK -application helloworld -stage helloworldAdapter

A.14.8 CONFIGUREPLAYBACK

Oracle CEPアプリケーションのステージに対するイベントの再生に関連したパラメータを構成します。

A.14.8.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
CONFIGUREPLAYBACK -application application -stage stage
[-datasetName datasetname]
[-storeProvider storeprovidername]
[-eventTypes eventtypes]
[-scheduleStartTime sstart] [-scheduleEndTime send | -scheduleDuration sduration]
[-filterStartTime fstart] [-filterEndTime fend | -filterDuration fduration]
[-speed speed]
[-repeat true | false]

表A-38 CONFIGUREPLAYBACK引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle CEPアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

-datasetName datasetname

イベントの記録先のデータセット名を指定します。

-storeProvider storeprovidername

Oracle CEPサーバーのconfig.xmlファイルで定義される有効なdata-sourceの名前を指定します。

デフォルトのBDBプロバイダを選択するには、この引数を空白にするか、またはdefault-providerの引数値を指定します。

詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のOracle CEP Server用のイベント・ストアの構成に関する項を参照してください。

-eventTypes eventtypes

再生対象の有効なイベント型の名前のカンマ区切りリストを指定します。イベント型は、イベント型リポジトリで定義される必要があります。

-scheduleStartTime sstart

再生を開始する時間を指定します。

開始時間を次のXMLSchemaのdateTime値の形式として表します。

yyyy-mm-ddThh:mm:ss

たとえば、再生を2010年1月20日午前5時に開始するように指定するには、次の値を使用します。

2010-01-20T05:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

-scheduleEndTime send

再生が終了する実際の時間を指定します。

終了時間を次のXMLSchemaのdateTime値の形式として表します。

yyyy-mm-ddThh:mm:ss

たとえば、再生を2010年1月20日午後6時に終了するように指定するには、次の値を使用します。

2010-01-20T18:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

記録を永久に実行するには、nullを指定します。

-scheduleEndTimeまたは-scheduleDurationのいずれかを指定できますが、両方は指定できません。

-scheduleDuration sduration

このステージのイベントの再生が終了するまでの継続時間を指定します。イベントの再生を永久に実行するには、nullを指定します。

01:00:00など、形式はHH:mm:ssです。

-scheduleEndTimeまたは-scheduleDurationのいずれかを指定できますが、両方は指定できません。

-filterStartTime fstart

この値以上の記録時間を持つイベントのみが再生に選択されるように指定します。

開始時間を次のXMLSchemaのdateTime値の形式として表します。

yyyy-mm-ddThh:mm:ss

たとえば、2010年1月20日午前5時以上の記録時間を持つイベントのみを再生するには、次の値を使用します。

2010-01-20T05:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

すべてのイベントを再生用に指定する場合、nullを指定します。

-filterEndTime fend

この値以下の記録時間を持つイベントのみが再生に選択されるように指定します。

終了時間を次のXMLSchemaのdateTime値の形式として表します。

yyyy-mm-ddThh:mm:ss

たとえば、2010年1月20日午後6時以下の記録時間を持つイベントのみを再生するには、次の値を使用します。

2010-01-20T18:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

-filterEndTimeまたは-filterDurationのいずれかを指定できますが、両方は指定できません。

-filterDuration fduration

イベント・ストアでイベントに適用されるフィルタを指定します。フィルタ時間中に記録されたイベントのみが再生用に選択されます。すべてのイベントを再生用に指定する場合、nullを指定します。

01:00:00など、形式はHH:mm:ssです。

-filterEndTimeまたは-filterDurationのいずれかを指定できますが、両方は指定できません。

-speed speed

再生速度を正のfloatとして指定します。

デフォルト値は1であり、通常の速度に相当します。値2はイベントが元の記録速度の倍の速度で再生されることを意味します。同様に、値0.5はイベントが元の記録速度の半分の速度で再生されることを意味します。

-repeat repeat

指定された期間の再生が終了した後に、イベントをもう一度再生するかどうかを指定します。

有効な値は、trueまたはfalseです。デフォルト値はfalseです。値をtrueに指定すると、繰り返し再生は故意に停止されるまで無限の回数分継続することになります(STOPPLAYBACKを参照してください)。値をfalseに指定すると、イベントは1回のみ再生されることになります。

A.14.8.2 例

この項の例では、指定したOracle CEPインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterのイベントの再生を構成する方法を示します。

次の例では、再生の開始および終了時刻を指定し、再生速度を通常速度の倍にしています。また、指定した時間間隔でのイベントの再生が終了したら、再び再生を開始することを指定しています。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
CONFIGUREPLAYBACK -application helloworld -stage helloworldAdapter
-scheduleStartTime 2010-01-20T05:00:00 -scheduleEndTime 2010-01-20T18:00:00
-speed 2 -repeat true

次の例では、再生の開始時刻と持続時間を指定し、再生速度を通常の半分にしています。また、イベントの再生は1度だけ行います。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
CONFIGUREPLAYBACK -application helloworld -stage helloworldAdapter
-scheduleStartTime 2010-01-20T05:00:00 -scheduleEndTime 2010-01-20T18:00:00
-speed 0.5 -repeat false

次の例では、nullの開始および継続時間を指定しています。これは、再生が通常の速度で永久に実行されることを意味します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
CONFIGUREPLAYBACK -application helloworld -stage helloworldAdapter
-scheduleStartTime 2010-01-20T05:00:00 -scheduleDuration null

A.14.9 SCHEDULEPLAYBACK

Oracle CEPアプリケーションのステージに関するイベントの再生に関連付けられるスケジュール・パラメータを構成します。

A.14.9.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
SCHEDULEPLAYBACK -application application -stage stage
[-scheduleStartTime startime]
[-scheduleEndTime endtime | -scheduleDuration duration]

表A-39 SCHEDULEPLAYBACK引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle CEPアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

-scheduleStartTime starttime

再生を開始する時間を指定します。

開始時間を次のXMLSchemaのdateTime値の形式として表します。

yyyy-mm-ddThh:mm:ss

たとえば、再生を2010年1月20日午前5時に開始するように指定するには、次の値を使用します。

2010-01-20T05:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

-scheduleEndTime endtime

再生が終了する実際の時間を指定します。

終了時間を次のXMLSchemaのdateTime値の形式として表します。

yyyy-mm-ddThh:mm:ss

たとえば、再生を2010年1月20日午後6時に終了するように指定するには、次の値を使用します。

2010-01-20T18:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

記録を永久に実行するには、nullを指定します。

-scheduleEndTimeまたは-scheduleDurationのいずれかを指定できますが、両方は指定できません。

-scheduleDuration duration

このステージのイベントの再生が終了するまでの継続時間を指定します。記録を永久に実行するには、nullを指定します。

01:00:00など、形式はHH:mm:ssです。

-scheduleEndTimeまたは-scheduleDurationのいずれかを指定できますが、両方は指定できません。

A.14.9.2 例

この項の例では、指定したOracle CEPインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterのイベント再生のスケジュールを構成する方法を示します。

次の例では、イベント再生の開始時間および終了時間を指定しています。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
SCHEDULEPLAYBACK -application helloworld -stage helloworldAdapter
-scheduleStartTime 2010-01-20T05:00:00 -scheduleEndndTime 2010-01-20T18:00:00

A.14.10 LISTPLAYBACK

Oracle CEPアプリケーションの特定のステージに関するイベント再生の構成を一覧表示します。

A.14.10.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
LISTPLAYBACK -application application -stage stage

表A-40 LISTPLAYBACK引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle CEPアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle CEPアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

A.14.10.2 例

次の例は、指定したOracle CEPインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterステージでイベント再生の構成を一覧表示する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
LISTPLAYBACK -application helloworld -stage helloworldAdapter

A.15 スループットおよび待機時間を監視するためのコマンド

表A-41は、Oracle CEPアプリケーションのスループットおよび待機時間を監視するためのコマンドの概要です。後続の項では、コマンド構文および引数について説明し、各コマンドの例を示します。

表A-41 スループットおよび待機時間を監視するためのコマンドの概要

コマンド

説明

MONITORAVGLATENCY

イベントが指定されたEPNのパスを通過するのにかかる平均時間または待機時間を監視します。

MONITORMAXLATENCY

イベントが指定されたEPNのパスを通過するのにかかる最大時間または待機時間を監視します。

MONITORAVGLATENCYTHRESHOLD

EPNのパスを流れるイベントの平均待機時間が指定されたしきい値を超えたかどうかをモニターします。

MONITORAVGTHROUGHPUT

指定されたステージのエントリ・ポイントまたは出口ポイントを通過するイベントの数をモニターします。

A.15.1 MONITORAVGLATENCY

イベントが指定アプリケーションのEPNのパスを通過するのにかかる平均時間または待機時間を監視します。

パスの開始ステージと終了ステージを指定し、それぞれのステージのエントリ・ポイントまたは出口ポイントでパスが開始または終了するかどうかを指定します。パスの開始と終了に同じステージを指定すると、単一のステージを通過するイベントの待機時間をモニターできます。

A.15.1.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
MONITORAVGLATENCY -application application
-startStage startStage -startStagePoint stagePoint
-endStage endStage -endStagePoint stagePoint
-avgInterval avgInterval -timeUnit timeUnit

表A-42 MONITORAVGLATENCY引数

引数

定義

-application application

スループットおよび待機時間を監視する対象のOracle CEPアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-startStage startStage

待機時間を監視する対象のパスを開始するステージ名を指定します。このステージは、-applicationオプションによって指定されるアプリケーション内にあります。

-startStagePoint startStagePoint

指定した開始ステージの待機時間をモニターするための特定の開始点を指定します。開始ステージのエントリ・ポイントまたは出口ポイントからモニターを開始できます。

有効な値は、entryおよびexitです。デフォルト値はentryです。

-endStage endStage

待機時間を監視する対象のパスを終了するステージ名を指定します。このステージは、-applicationオプションによって指定されるアプリケーション内にあります。

-endStagePoint endStagePoint

指定した終了ステージの待機時間をモニターするための特定の終了点を指定します。終了ステージのエントリ・ポイントまたは出口ポイントからモニターを終了できます。

有効な値は、entryおよびexitです。デフォルト値はentryです。

-avgInterval avgInterval

平均待機時間が計算される期間の平均間隔を指定します。単位を-timeUnitオプションで指定します。デフォルト値はミリ秒です。

デフォルト値は100です。

-timeUnit timeUnit

待機時間の計算の時間単位を指定します。

有効な値は、MILLISECONDSおよびSECONDSです。デフォルト値はMILLISECONDSです。

A.15.1.2 例

次の例では、開始ポイントから終了ポイントまで、helloworldアプリケーションのeplprocessorコンポーネントを通って流れるイベントの平均待機時間を監視する方法を示します。同一のステージが開始および終了ステージの両方(eplprocessor)に指定されるため、待機時間の監視は単一のステージを通って流れるイベントに対してのみ行われます。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
MONITORAVGLATENCY -application helloworld -startStage eplprocessor
-startStagePoint entry -endStage eplprocessor -endStagePoint exit
-avgInterval 100 -timeUnit MILLISECONDS

A.15.2 MONITORAVGLATENCYTHRESHOLD

パスの開始点と終了点の間のイベントの平均待機時間が指定されたしきい値を超えたかどうかをモニターします。

パスの開始ステージと終了ステージを指定し、それぞれのステージのエントリ・ポイントまたは出口ポイントでパスが開始または終了するかどうかを指定します。パスの開始と終了に同じステージを指定すると、単一のステージを通過するイベントの待機時間しきい値をモニターできます。

A.15.2.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
MONITORAVGLATENCYTHRESHOLD -application application
-startStage startStage -startStagePoint stagePoint
-endStage endStage -endStagePoint stagePoint
-avgInterval avgInterval -timeUnit timeUnit -threshold threshold

表A-43 MONITORAVGLATENCYTHRESHOLD引数

引数

定義

-application application

スループットおよび待機時間を監視する対象のOracle CEPアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-startStage startStage

待機時間のしきい値を監視する対象のパスを開始するステージ名を指定します。このステージは、-applicationオプションによって指定されるアプリケーション内にあります。

-startStagePoint startStagePoint

指定した開始ステージの待機時間のしきい値をモニターするための特定の開始点を指定します。開始ステージのエントリ・ポイントまたは出口ポイントからモニターを開始できます。

有効な値は、entryおよびexitです。デフォルト値はentryです。

-endStage endStage

待機時間のしきい値を監視する対象のパスを終了するステージ名を指定します。このステージは、-applicationオプションによって指定されるアプリケーション内にあります。

-endStagePoint endStagePoint

指定した終了ステージの待機時間のしきい値をモニターするための特定の終了点を指定します。終了ステージのエントリ・ポイントまたは出口ポイントからモニターを終了できます。

有効な値は、entryおよびexitです。デフォルト値はentryです。

-avgInterval avgInterval

平均待機時間のしきい値が計算される平均間隔を指定します。

デフォルト値は100です。単位を-timeUnitオプションで指定します。デフォルト値はミリ秒です。

-timeUnit timeUnit

待機時間の計算の時間単位を指定します。

有効な値は、MILLISECONDSおよびSECONDSです。デフォルト値はMILLISECONDSです。

-threshold threshold

しきい値を指定します。この値を超えると、平均間隔の終わりごとにメトリック・イベントが出力されます。

デフォルトは100です。単位を-timeUnitオプションで指定します。デフォルト値はミリ秒です。

A.15.2.2 例

次の例では、開始ポイントから終了ポイントまで、helloworldアプリケーションのeplprocessorステージにおける平均待機時間が10秒を超えるイベントの平均待機時間のしきい値を監視する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
MONITORAVGLATENCY -application helloworld -startStage eplprocessor
-startStagePoint entry -endStage eplprocessor -endStagePoint exit
-avgInterval 100 -timeUnit MILLISECONDS -threshold 100

A.15.3 MONITORMAXLATENCY

指定されたアプリケーションでEPNの指定されたパスを流れるイベントの最大待機時間をモニターします。

パスの開始ステージと終了ステージを指定し、それぞれのステージのエントリ・ポイントまたは出口ポイントでパスが開始または終了するかどうかを指定します。パスの開始と終了に同じステージを指定すると、単一のステージを通過するイベントの最大待機時間をモニターできます。

A.15.3.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
MONITORMAXLATENCY -application application
-startStage startStage -startStagePoint stagePoint
-endStage endStage -endStagePoint stagePoint
-maxInterval maxInterval -timeUnit timeUnit

表A-44 MONITORMAXLATENCY引数

引数

定義

-application application

スループットおよび待機時間を監視する対象のOracle CEPアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-startStage startStage

最大待機時間を監視する対象のパスを開始するステージ名を指定します。このステージは、-applicationオプションによって指定されるアプリケーション内にあります。

-startStagePoint startStagePoint

指定した開始ステージの最大待機時間をモニターするための特定の開始点を指定します。開始ステージのエントリ・ポイントまたは出口ポイントからモニターを開始できます。

有効な値は、entryおよびexitです。デフォルト値はentryです。

-endStage endStage

最大待機時間を監視する対象のパスを終了するステージ名を指定します。このステージは、-applicationオプションによって指定されるアプリケーション内にあります。

-endStagePoint endStagePoint

指定した終了ステージの最大待機時間をモニターするための特定の終了点を指定します。終了ステージのエントリ・ポイントまたは出口ポイントからモニターを終了できます。

有効な値は、entryおよびexitです。デフォルト値はentryです。

-maxInterval maxInterval

最大待機時間が計算される間隔を指定します。

デフォルト値は100です。単位を-timeUnitオプションで指定します。デフォルト値はミリ秒です。

-timeUnit timeUnit

最大待機時間の計算の時間単位を指定します。

有効な値は、MILLISECONDSおよびSECONDSです。デフォルト値はMILLISECONDSです。

A.15.3.2 例

次の例では、開始ポイントから終了ポイントまで、helloworldアプリケーションのeplprocessorステージを通って流れるイベントの最大待機時間を監視する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
MONITORMAXLATENCY -application helloworld -startStage eplprocessor
-startStagePoint entry -endStage eplprocessor -endStagePoint exit
-maxInterval 100 -timeUnit MILLISECONDS

A.15.4 MONITORAVGTHROUGHPUT

指定されたアプリケーションでEPNのステージのエントリ・ポイントまたは出口ポイントを通過するイベントの平均件数をモニターします。

A.15.4.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
MONITORAVGTHROUGHPUT -application application
-stage stage -StagePoint stagePoint
-throughputInterval throughputInterval -avgInterval avgInterval
-timeUnit timeUnit

表A-45 MONITORAVGLATENCY引数

引数

定義

-application application

スループットおよび待機時間を監視する対象のOracle CEPアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

イベントのスループットを監視する対象のステージ名を指定します。このステージは、-applicationオプションによって指定されるアプリケーション内にあります。

-stagePoint stagePoint

指定したステージのエントリ・ポイントまたは出口ポイントでスループットをモニターするかどうかを指定します。

有効な値は、entryおよびexitです。デフォルト値はentryです。

-throughputInterval throughputInterval

スループットが計算されるスループット間隔を指定します。

デフォルト値は100です。単位を-timeUnitオプションで指定します。デフォルト値はミリ秒です。

-avgInterval avgInterval

平均スループットが計算される平均間隔を指定します。

デフォルト値は100です。単位を-timeUnitオプションで指定します。デフォルト値はミリ秒です。

-timeUnit timeUnit

スループットの計算の時間単位を指定します。

有効な値は、MILLISECONDSおよびSECONDSです。デフォルト値はMILLISECONDSです。

A.15.4.2 例

次の例では、helloworldアプリケーションのeplprocessorステージの開始ポイントを流れるイベントの数を監視する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
MONITORMAXLATENCY -application helloworld
-stage eplprocessor -stagePoint entry
-throughputInterval 100 -avgInterval 100 -timeUnit MILLISECONDS

A.16 構成履歴を管理するためのコマンド

表A-46は、Oracle CEPコンポーネントの構成履歴を管理するコマンドの概要です。詳細は、1.3.3項「構成履歴の管理」を参照してください。

後続の項では、コマンド構文および引数について説明し、各コマンドの例を示します。

表A-46 構成履歴を管理するためのコマンドの概要

コマンド

説明

CONFIGHISTORY

構成履歴の管理コマンドのリストを戻します。

DELETECONFIGCHANGEHISTORY

指定期間の変更レコードを削除します。

LISTCHANGERECORDS

アプリケーションの変更レコードのリストを戻します。

LISTRESOURCEREVISIONS

アプリケーションの構成リソース・リビジョンのリストを戻します。

UNDOCONFIGCHANGE

変更レコードIDによって指定された変更レコードをロールバックします。

A.16.1 CONFIGHISTORY

構成履歴の管理コマンドのリストを戻します。

A.16.1.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
CONFIGHISTORY

A.16.1.2 例

次の例は、構成履歴の管理コマンドを一覧表示する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
CONFIGHISTORY

A.16.2 DELETECONFIGCHANGEHISTORY

構成履歴の管理コマンドのリストを戻します。

A.16.2.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
DELETECONFIGCHANGEHISTORY -application application -startTime starttime -endTime endtime

表A-47 DELETECONFIGCHANGEHISTORY引数

引数

定義

-application application

Oracle CQLルールを管理する対象のOracle CEPアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-startTime starttime

変更レコードを削除する期間の開始時間を指定します。

10-20-2007:11:22:07など、形式はMM-dd-yyyy:HH:mm:ssです。

-endTime end-ime

変更レコードを削除する期間の終了時間を指定します。

10-20-2007:11:22:07など、形式はMM-dd-yyyy:HH:mm:ssです。

A.16.2.2 例

次の例は、構成履歴の管理コマンドを一覧表示する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
CONFIGHISTORY

A.16.3 LISTCHANGERECORDS

アプリケーションの変更レコードのリストを戻します。

A.16.3.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
LISTCHANGERECORDS -application application -startTime starttime -endTime endtime

表A-48 GETRULE引数

引数

定義

-application application

変更レコードを参照する対象のOracle CEPアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-startTime starttime

変更レコードの表示をフィルタ処理する期間の開始時間を指定します。

10-20-2007:11:22:07など、形式はMM-dd-yyyy:HH:mm:ssです。

-endTime end-ime

変更レコードの表示をフィルタ処理する期間の終了時間を指定します。

10-20-2007:11:22:07など、形式はMM-dd-yyyy:HH:mm:ssです。

A.16.3.2 例

次の例は、helloworldアプリケーションで2007年11月20日11:10:07から11:22:07までに作成されたすべての変更レコードを一覧表示する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
LISTCHANGERECORDS -application helloworld startTime 10-20-2007:11:10:07
-endTime 10-20-2007:11:22:07

A.16.4 LISTRESOURCEREVISIONS

アプリケーションの構成リソース・リビジョンのリストを戻します。

A.16.4.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
LISTRESOURCEREVISIONS -application application -startTime starttime -endTime endtime

表A-49 GETRULE引数

引数

定義

-application application

リソース・リビジョンを参照する対象のOracle CEPアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-startTime starttime

リソース・リビジョンのリストをフィルタ処理する期間の開始時間を指定します。

10-20-2007:11:22:07など、形式はMM-dd-yyyy:HH:mm:ssです。

-endTime end-ime

リソース・リビジョンのリストをフィルタ処理する期間の終了時間を指定します。

10-20-2007:11:22:07など、形式はMM-dd-yyyy:HH:mm:ssです。

A.16.4.2 例

次の例は、helloworldアプリケーションで2007年11月20日11:10:07から11:22:07までに作成されたすべてのリソース・リビジョンを一覧表示する方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
LISTRESOURCEREVISIONS -application helloworld startTime 10-20-2007:11:10:07
-endTime 10-20-2007:11:22:07

A.16.5 UNDOCONFIGCHANGE

変更レコードIDで指定された変更レコードによって定義された変更をロールバックします。

A.16.5.1 構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
UNDOCONFIGCHANGE -application application -recordId changerecordid

表A-50 GETRULE引数

引数

定義

-application application

変更レコード元に戻す対象のOracle CEPアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(A.13.5.3項「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle CEP Visualizerを使用します: Oracle CEP Visualizerを開始します(『Oracle Fusion Middleware Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のOracle CEP Visualizerの開始に関する項を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle CEPインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-recordId changerecordid

元に戻す変更レコードの識別子を指定します。

変更レコードの識別子を取得するため、次を使用できます:

- "LISTCHANGERECORDS"

- "LISTRESOURCEREVISIONS"

A.16.5.2 例

次の例は、helloworldアプリケーションで2007年11月20日11:10:07から11:22:07までに作成されたすべてのリソース・リビジョンをロールバックする方法を示します。

prompt> java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
UNDOCONFIGCHANGE -application helloworld -recordId tr.1267607521409.10110

B デプロイヤ・コマンドライン・リファレンス

この付録では、Oracle CEPアプリケーションのデプロイに使用できる、Oracle Complex Event Processing (Oracle CEP)のDeployerコマンドライン・ユーティリティへの参照を提供します。

- 付録B「デプロイヤ・コマンドライン・ユーティリティの使用方法の概要」

- 付録B「デプロイヤ・ユーティリティ環境の構成」

- 付録B「リモートでのデプロイヤ・ユーティリティの実行」

- 付録B「デプロイヤ・ユーティリティを起動するための構文」

- 付録B「デプロイヤ・ユーティリティの使用例」

B.1 デプロイヤ・コマンドライン・ユーティリティの使用方法の概要

Deployerは、管理者や開発者がOracle CEPアプリケーションのデプロイ操作をコマンドラインで実行するためのJavaベースのデプロイメント・ユーティリティです。Oracle CEPデプロイメントのコンテキストでは、アプリケーションは次のアーティファクトを含むOSGiバンドルJARファイルとしてhttp://www.osgi.org/で定義されます。

- アダプタ、アダプタ・ファクトリ、ビジネス・ロジックを格納したPOJOなど、アプリケーションのいくつかのコンポーネントを実装するコンパイル済Javaクラス・ファイル。

- プロセッサ、アダプタ、ストリームなど、アプリケーションのコンポーネントを構成する1つまたは複数のOracle CEP構成XMLファイル。
構成ファイルは、OSGiバンドルJARファイルのMETA-INF/wlevsディレクトリにある必要があります。

- アプリケーションのすべてのコンポーネントと、各コンポーネントが相互にどのように接続されているかを記述したEPNアセンブリ・ファイル。EPNアセンブリ・ファイルは標準のSpringコンテキスト・ファイルを拡張します。
EPNアセンブリ・ファイルは、OSGiバンドルJARファイルのMETA-INF/springディレクトリにある必要があります。

- JARファイルのコンテンツを記述するMANIFEST.MFファイル。

このデプロイメント・バンドルを作成する方法の詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のOracle CEPアプリケーションのアセンブリに関する項を参照してください。

デプロイヤ・ユーティリティはHTTPを使用してOracle CEPに接続します。つまり、アプリケーションのデプロイ先となるサーバー・インスタンスに応じてJettyを構成する必要があります。詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing管理者ガイド』のJettyの構成に関する項を参照してください。

Oracle CEPは、deployments.xmlファイルを使用して、デプロイ済アプリケーションのOSGiバンドルのリストを内部的に維持します。このファイルはDOMAIN_DIR/servernameディレクトリにあります。DOMAIN_DIRはメイン・ドメイン・ディレクトリであり、アプリケーションのデプロイ先となるサーバー・インスタンスに対応します。servernameはサーバー・インスタンス自体です。詳細は、『Oracle Fusion Middleware Oracle Complex Event Processing開発者ガイド for Eclipse』のOracle CEPスキーマに関する項を参照してください。

警告:

deployments.xmlファイルのXSDは、あくまでも参考として示しています。deployments.xmlファイルを手動で更新することは、お薦めしません。

B.2 デプロイヤ・ユーティリティ環境の構成

デプロイヤ・ユーティリティを使用する前に、環境を適切に構成する必要があります。

デプロイヤ・ユーティリティ環境を構成するには:

1. Oracle CEPソフトウェアをインストールおよび構成します。『Oracle Fusion Middleware Oracle Complex Event Processingスタート・ガイド』のOracle CEPのインストールに関する項を参照してください。

2. コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項を参照してください。

3. ORACLE_CEP_HOME/ocep_11.1/binディレクトリにあるwlevsdeploy.jar JARファイルを含むようにCLASSPATH変数を更新します。ORACLE_CEP_HOMEは、/oracle_cepなどのOracle CEPメイン・インストール・ディレクトリです。

B.3 リモートでのデプロイヤ・ユーティリティの実行

Oracle CEPをインストールして実行しているコンピュータとは別のコンピュータでDeployerユーティリティを実行すると便利な場合があります。

リモートでデプロイヤ・ユーティリティを実行するには:

1. Oracle CEPがインストールされているコンピュータからデプロイヤ・ユーティリティを実行するコンピュータに、次のJARファイルをコピーします。JARファイルのコピー先のディレクトリ名は、任意の名前とすることができます。

- ORACLE_CEP_HOME/ocep_11.1/bin/wlevsdeploy.jar

ここで、ORACLE_CEP_HOMEは、Oracle CEPをインストールする先のメイン・ディレクトリを示します。

2. 次のいずれかの方法でCLASSPATHを設定します。

- ユーティリティを実行するときに、-jar引数を使用してCLASSPATHを暗黙的に設定します。つまり、この引数でNEW_DIRECTORY/wlevsdeploy.jarファイルを設定します。NEW_DIRECTORYは、必要なJARファイルをコピーしたリモート・コンピュータ上のディレクトリです。-jar引数を使用するときは、コマンド・ラインでDeployerユーティリティ名を指定しません。

- リモート・コンピュータにコピーしたJARファイルをCLASSPATH環境変数に追加することにより、明示的にCLASSPATHを更新します。

3. 次の項の説明に従ってDeployerユーティリティを起動します。

B.4デプロイヤ・ユーティリティを起動するための構文

デプロイヤ・ユーティリティを使用するための構文は次のとおりです。

java -jar wlevsdeploy.jar
[Connection Arguments]
[User Credential Arguments]
[Deployment Commands]

次の項では、デプロイヤ・ユーティリティで使用できる様々な引数およびコマンドについて説明します。このユーティリティの具体的な使用方法の例については、付録B「デプロイヤ・ユーティリティの使用例」を参照してください。

B.4.1 接続引数

表B-1は、デプロイヤ・ユーティリティで指定できる接続引数を示しています。

表B-1 接続引数

引数

説明

-url url

OSGIバンドルのデプロイ先となるOracle CEPインスタンスのデプロイヤのURLを指定します。

URLは次の形式にします。

http://host:port/wlevsdeployer

説明:

- hostは、Oracle CEPを実行しているコンピュータのホスト名です。

- portはOracle CEPのリスニング・ポート番号です。デフォルトでは、その値は9002です。このポートは、Oracle CEPドメインを記述するconfig.xmlファイルで指定されます。このファイルはDOMAIN_DIR/configディレクトリにあります。DOMAIN_DIRはドメイン・ディレクトリを指します。
ポート番号は<Netio>要素の<Port>子要素の値です。

<Netio>
<Name>NetIO</Name>
<Port>9002</Port>
</Netio>

SSL専用接続に対してOracle CEPサーバーを構成する場合(10.7項「Oracle CEPサーバーに対するHTTPS専用接続の構成」)、SSL <Netio>要素の<Port>子要素の値を使用します。

<Netio>
<name>sslNetIo</name>
<port>9003</port>
<ssl-config-bean-name>sslConfig</ssl-config-bean-name>
</Netio>

たとえば、Oracle CEPがホストarielのポート9002で実行されている場合、URLは次のようになります。

http://ariel:9002/wlevsdeployer

B.4.2 ユーザー資格証明の引数

表B-2は、デプロイヤ・ユーティリティで指定できるユーザー資格証明の引数を示しています。

表B-2 ユーザー資格証明の引数

引数

説明

-user username

Oracle CEP管理者のユーザー名。

-userオプションを指定したが、対応する-passwordオプションを指定しなかった場合は、パスワードの入力を求めるデプロイヤ・ユーティリティのプロンプトが表示されます。

-password password

Oracle CEP管理者のパスワード。

注意: この引数は非推奨で、後続のリリースで削除される可能性もあります。この引数を使用しないことをお薦めします。

B.4.3 デプロイメント・コマンド

表B-3は、デプロイヤ・ユーティリティで使用できるデプロイメント・コマンドを示しています。

表B-3 デプロイメント・コマンド

コマンド

説明

-install bundle

指定したOracle CEPインスタンスに、指定したOSGiバンドルをインストールします。

bundleパラメータは、Deployerユーティリティを実行するコンピュータのローカルにあるファイル名を指定します。

バンドルが置かれている場所が、デプロイヤ・ユーティリティを実行しているディレクトリに対して相対的なディレクトリではない場合、バンドルのフル・パス名を必ず指定してください。

特に、Oracle CEPでは次の処理が行われます。

- 指定したバンドルがドメイン・ディレクトリにコピーされます。

- バンドルのMETA-INF/wlevsディレクトリにおいてコンポーネント構成ファイルが検索され、ドメイン・ディレクトリに抽出されます。

- 内部デプロイメント・レジストリが更新されます。

- アプリケーションが開始されます。受信アダプタはただちにデータを受信し始めます。

-update bundle

既存のOSGiバンドルを新しいアプリケーション・コードで更新します。

bundleパラメータは、Deployerユーティリティを実行するコンピュータのローカルにあるファイル名を指定します。

バンドルが置かれている場所が、デプロイヤ・ユーティリティを実行しているディレクトリに対して相対的なディレクトリではない場合、バンドルのフル・パス名を必ず指定してください。

特に、Oracle CEPでは次の処理が行われます。

- 更新したバンドルがドメイン・ディレクトリにコピーされます。

- 更新したバンドルのMETA-INF/wlevsディレクトリにおいて更新したコンポーネント構成ファイルが検索され、ドメイン・ディレクトリに抽出されます。

- 更新した情報で内部デプロイメント・レジストリが更新されます。

-uninstall name

指定したOracle CEPインスタンスから既存のバンドルを削除します。

nameパラメータは、削除するOSGiバンドルのシンボリック名です。シンボリック名は、バンドルのMANIFEST.MFファイルに含まれるBundle-SymbolicNameヘッダーの値です。

Bundle-SymbolicName: myApp

特に、Oracle CEPでは次の処理が行われます。

- 指定したOSGiバンドルがドメイン・ディレクトリから削除されます。

- 内部デプロイメント・レジストリからバンドルが削除されます。

-suspend name

指定したOracle CEPインスタンスにインストール済みで現在実行中のOSGIバンドルを一時停止します。

nameパラメータは、開始するOSGiバンドルのシンボリック名です。シンボリック名は、バンドルのMANIFEST.MFファイルに含まれるBundle-SymbolicNameヘッダーの値です。

Bundle-SymbolicName: myApp

-resume name

指定したOracle CEPインスタンス上で一時停止されたOSGIバンドルを再開します。構成されたアダプタが再びただちに着信データを受信し始めます。

nameパラメータは、停止するOSGiバンドルのシンボリック名です。シンボリック名は、バンドルのMANIFEST.MFファイルに含まれるBundle-SymbolicNameヘッダーの値です。

Bundle-SymbolicName: myApp

-group groupname

デプロイ・コマンド(install、uninstall、update、suspendまたはresume)をターゲット・グループ(具体的には、そのグループ内の一連の実行中サーバー)に適用することを指定します。

ドメイン・グループを指定するには、次のようにキーワードallを使用します:

-group all

カスタム・グループを指定するには、単純にグループの名前を指定します:

-group my_group

注意: サーバーがマルチサーバー・ドメインの一部である場合(つまり、クラスタリングが有効な場合)、グループに対してのみデプロイできます。サーバーがスタンドアロンサーバー・ドメインの一部である場合(つまり、クラスタリングが無効な場合)、グループに対してデプロイできません。詳細は、5.1項「Oracle CEPマルチサーバー・ドメインの管理の概要」を参照してください。

-status name

現在のインストール済みOSGiバンドルに関するステータス情報を返します。

nameパラメータは、ステータス情報を取得するOSGiバンドルのシンボリック名です。シンボリック名は、バンドルのMANIFEST.MFファイルに含まれるBundle-SymbolicNameヘッダーの値です。

Bundle-SymbolicName: myApp

-startLevel startLevel

OSGiバンドルが開始されたレベルを指定します。この数字の小さいバンドルが先に開始されたバンドルです。

システム・バンドルの開始レベルは7未満です。

B.5 デプロイヤ・ユーティリティの使用例

次の例は、デプロイヤ・ユーティリティの使用方法を示しています。すべての例で、Oracle CEPはホストarielで実行されていて、リスニング・ポートは9002です。また、サーバー管理者のユーザー名/パスワードはそれぞれwlevs/wlevsです。わかりやすくするために、例は複数行に分けて示していますが、コマンドを実行するときは、すべての引数とコマンドを1行に入力します。

prompt> java -jar wlevsdeploy.jar
-url http://ariel:9002/wlevsdeployer -user wlevs -password wlevs
-install /application/bundles/com.my.exampleApp_1.0.0.0.jar

上の例は、/application/bundlesディレクトリにあるcom.my.exampleApp_1.0.0.0.jarというOSGiバンドルをインストールする方法を示しています。

次のコマンドは、このアプリケーションを一時停止後に再開する方法を示しています。

prompt> java com.bea.wlevs.deployment.Deployer
-url http://ariel:9002/wlevsdeployer -user wlevs -password wlevs
-resume exampleApp

次の例は、このアプリケーションのアンインストール方法を示しています。アンインストールを実行すると、アプリケーションのすべてのトレース情報がドメイン・ディレクトリから削除されます。

prompt> java com.bea.wlevs.deployment.Deployer
-url http://ariel:9002/wlevsdeployer -user wlevs -password wlevs
-uninstall exampleApp

次の例は、strategies_1.0.jarというアプリケーションをstrategygroupにインストールする方法を示しています。また、javaユーティリティの-jarコマンドの使用方法も示しています。

prompt> java -jar wlevsdeploy.jar
-url http://ariel:9002/wlevsdeployer -install strategies_1.0.jar
-group strategygroup

C セキュリティ・ユーティリティ・コマンドライン・リファレンス

この付録は、Oracle Complex Event Processing (Oracle CEP)セキュリティ・ユーティリティへの参照を、セキュリティ構成ファイルを生成、クリアテキスト・パスワードを暗号化、および信頼キーストアを生成するユーティリティであるcssconfig、encryptMSAConfigおよびGrabCertを含めて提供します。

- C.1項「cssconfigコマンドライン・ユーティリティ」

- C.2項「encryptMSAConfigコマンドライン・ユーティリティ」

- C.3項「GrabCertコマンドライン・ユーティリティ」

- C.4項「passgenコマンドライン・ユーティリティ」(非推奨)

- C.5項「secgenコマンドライン・ユーティリティ」(非推奨)

C.1 cssconfigコマンドライン・ユーティリティ

cssconfigコマンドライン・ユーティリティは、パスワード・ポリシーを適用するセキュリティ構成ファイル(security.xml)を生成するときに使用します。

cssconfigユーティリティはORACLE_CEP_HOME/ocep_11.1/binディレクトリにあります。ORACLE_CEP_HOMEは、d:\oracle_cepなどのOracle CEPメイン・インストール・ディレクトリです。このユーティリティには次の2種類があります。

- cssconfig.cmd (Windowsの場合)

- cssconfig.sh (UNIXの場合)

このユーティリティのUnixバージョンは、#!/bin/kshディレクティブで起動します。ほとんどのUnixシステムでは、このディレクティブにより、ユーティリティ使用時にKorn Shellプログラムが使用されます。kshプログラムがbinディレクトリにない場合、または使用しているシェル言語でユーティリティを正しく実行できない場合は、次のようにしてユーティリティを実行してください。

prompt> $PATH_TO_KSH_BIN/ksh -c cssconfig.sh

PATH_TO_KSH_BINはkshプログラムの完全修飾パスです。

C.1.1 cssconfigの構文

cssconfig -p propertyfile [-c configfile] -i inputkeyfile [-d]

説明:

- propertyfileは、必要な構成を定義するためにユーザーが指定したセキュリティ構成プロパティを含むファイルです。このオプションは必須です。詳細は、例10-1を参照してください。

- configfileは、生成されるファイルの名前です。このプロパティはオプションで、デフォルト値はsecurity.xmlです。

- inputkeyfileは、セキュリティ構成ファイルの生成に使用される入力キー・ファイルの完全修飾名です。このオプションは構成ディレクトリのsecurity-key.datファイルに設定します。

- -dでデバッグが有効になります。

C.2 encryptMSAConfigコマンドライン・ユーティリティ

encryptMSAConfig暗号化コマンドライン・ユーティリティは、XMLファイルの<password>要素によって指定されたクリアテキストのパスワードを暗号化するときに使用します。<password>要素が含まれている可能性があるXMLファイルの例は、次のとおりです。

- config.xml

- security-config.xml

- コンポーネント構成ファイル

encryptMSAConfigユーティリティはORACLE_CEP_HOME/ocep_11.1/binディレクトリにあります。ORACLE_CEP_HOMEは、d:\oracle_cepなどのOracle CEPメイン・インストール・ディレクトリです。このユーティリティには次の2種類があります。

- encryptMSAConfig.cmd (Windowsの場合)

- encryptMSAConfig.sh (UNIXの場合)

C.2.1 encryptMSAConfigの構文

encryptMSAConfig directory XML_file aesinternal.dat_file

説明:

- directoryは、クリアテキストの<password>要素を含むXMLファイルがあるディレクトリです。

- XML_fileは、XMLファイルの名前です。

- aesinternal.dat_fileパラメータは、ドメインに関連付けられている.aesinternal.datファイルの場所です。このファイルはORACLE_CEP_HOME/user_projects/domains/DOMAIN/SERVERディレクトリにあります。ORACLE_CEP_HOMEはd:\oracle_cepなどのOracle CEPメイン・インストール・ディレクトリで、DOMAINはドメイン・ディレクトリ(myDomainなど)です。SERVERは、サーバー・インスタンス(myServerなど)です。

例:

prompt> pwd
C:\OracleCEP\user_projects\domains\ocep_domain\defaultserver
prompt> C:\OracleCEP\ocep_11.1\bin\encryptMSAConfig.cmd . config\config.xml .aesinternal.dat

コマンドを実行すると、XML_fileのpassword要素の値が暗号化されます。

C.3 GrabCertコマンドライン・ユーティリティ

GrabCertコマンドライン・ユーティリティは、既存の信頼キーストアから取得した証明書を含む信頼キーストアを生成するときに使用します。

GrabCertユーティリティはORACLE_CEP_HOME/ocep_11.1/utils/security/wlevsgrabcert.jarファイルにあります。ORACLE_CEP_HOMEは、Oracle CEPインストール・ディレクトリ(d:/oracle_cepなど)です。

C.3.1 GrabCertの構文

java GrabCert host:secureport [-alias=alias] [-noinput] [truststorepath]

説明:

表C-1 GrabCertの引数

オプション

説明

デフォルト値

host

証明書のコピー元となるOracle CEPサーバーのホスト名。

secureport

host上のSSLポート

詳細は、10.5.1項「手動でSSLの構成方法」の例10-5を参照してください。

9003

alias

信頼キーストアの証明書の別名。

host

-noinput

-noinputオプションを使用して、hostからのすべての証明書をコピーするようにGrabCertに指示します。

hostの利用可能なすべての証明書をリストして、そのリストから1つの証明書を選択するようプロンプトするようにGrabCertに指示する場合は、-noinputオプションを省略します。

truststorepath

host上の生成される信頼キーストア・ファイルのフル・パス名。

evstrust.jks

C.3.2 GrabCertの使用例

例:

prompt> java GrabCert ariel:9003 -alias=ariel evstrust.jks

他の例は、10.5.3項「マルチサーバー・ドメインでOracle CEP Visualizer向けにSSLを構成する方法」を参照してください。

C.4 passgenコマンドライン・ユーティリティ

passgenコマンドライン・ユーティリティは、ユーザーのパスワードをセキュリティ・データベースに追加するためにハッシュ化するときに使用します。

注意:

passgenコマンド・ライン・ユーティリティは、Oracle CEPバージョン10.3で非推奨になりました。これは必要なタスクが構成ウィザードで自動的に実行されるようになったためです。

passgenユーティリティはORACLE_CEP_HOME/ocep_11.1/binディレクトリにあります。ORACLE_CEP_HOMEは、d:\oracle_cepなどのOracle CEPメイン・インストール・ディレクトリです。このユーティリティには次の2種類があります。

- passgen.cmd (Windowsの場合)

- passgen.sh (UNIXの場合)

C.4.1 passgenの構文

passgen [-a algorithm] [-s saltsize] [-h] [-?] [password]*

説明:

表C-2 passgenの引数

オプション

説明

デフォルト値

-a

algorithmは、使用するハッシュ・アルゴリズムを指定します。

- SHA-1

- MD2

- MD5

- SSHA

- SHA-256

設定できるアルゴリズムの実際のリストは、JDKにプラグインされているセキュリティ・プロバイダによって異なります。

指定しない場合、デフォルトはSHA-1です。

-s

saltsizeは、固有のハッシュ文字列を作成するために追加されるsalt文字の数です。

指定しない場合、デフォルトは4です。

-h, -?

コマンド・ライン・オプションを表示して終了します。

password

コマンド・ライン上にパスワードが指定された場合は、パスワードをハッシュ化し、1行につき1つずつ左から右の順に出力します。コマンド・ライン上にパスワードが指定されない場合は、パスワードの入力を求め、対話形式でパスワードをハッシュ化します。

注意:

Windowsオペレーティング・システムではこのユーティリティの.cmdバージョンを、Unixプラットフォームでは.shバージョンを使用する必要があります。

このユーティリティのUnixバージョンは、#!/bin/kshディレクティブで起動します。ほとんどのUnixシステムでは、このディレクティブにより、ユーティリティ使用時にKorn Shellプログラムが使用されます。kshプログラムがbinディレクトリにない場合、または使用しているシェル言語でユーティリティを正しく実行できない場合は、次のようにしてユーティリティを実行してください。

$PATH_TO_KSH_BIN/ksh -c passgen.sh

PATH_TO_KSH_BINは、kshプログラムの完全修飾パスです。

C.4.2 passgenの使用例

次の項には、passgenユーティリティの使用例を示します。

- C.4.2.1項「対話形式でのpassgenの使用」

- C.4.2.2項「コマンドラインでのパスワードの入力」

C.4.2.1 対話形式でのpassgenの使用

passgenユーティリティを対話形式で使用する例を次に示します。

$ passgen
Password ("quit" to end): maltese
{SHA-1}LOtYvfQZj++4rV50AKpAvwMlQjqVd7ge
Password ("quit" to end): falcon
{SHA-1}u7NPQfgkHISr0tZUsmPrPmr3U1LKcAdP
Password ("quit" to end): quit
{SHA-1}2pPo4ViKsoNct3lTDoLeg9gHYZwQ47sV

このモードでは、パスワードを入力すると、ハッシュ化されたバージョンのパスワードが表示されます。そのハッシュ化されたバージョンのパスワードをセキュリティ・データベースのパスワード・フィールドに入力できます。

注意:

例では、デモンストレーション目的でパスワードが画面上にエコーされるようになっています。ほとんどの場合、パスワードを表示することはありません(プラットフォームがパスワードの非表示をサポートしていない場合を除く)。

C.4.2.2 コマンドラインでのパスワードの入力

コマンドライン上に入力されたパスワードをハッシュ化する場合のpassgenユーティリティの使用例を次に示します。

$ passgen maltese falcon
{SHA-1}g0PNXmJW0OBtp/GkHrhNAhpbjM+capNe
{SHA-1}2ivZnjnKD9fordC1YFkrVGf0DHL6SVP1

複数のパスワードが入力された場合、左から右にハッシュ化が行われます。

- {SHA-1}g0PNXmJW0OBtp/GkHrhNAhpbjM+capNeは、malteseのハッシュ化です。

- {SHA-1}2ivZnjnKD9fordC1YFkrVGf0DHL6SVP1は、falconのハッシュ化です。

C.5 secgenコマンドライン・ユーティリティ

secgenコマンドライン・ユーティリティは、暗号化されたパスワードを使用するセキュリティ・キーまたはセキュリティ構成ファイルを生成するときに使用します。

警告:

secgenコマンド・ライン・ユーティリティはOracle CEPバージョン10.3で非推奨になりました。これは必要なタスクが構成ウィザードで自動的に実行されるようになったためです。

注意:

このユーティリティで作成されるセキュリティ・ファイルにはパスワード・ポリシーは適用されません。パスワード・ポリシーが必要な場合は、このユーティリティではなくcssconfigコマンドライン・ユーティリティを使用します。C.1項「cssconfigコマンドライン・ユーティリティ」を参照してください。

secgenユーティリティはORACLE_CEP_HOME/ocep_11.1/binディレクトリにあります。ORACLE_CEP_HOMEは、d:\oracle_cepなどのOracle CEPメイン・インストール・ディレクトリです。このユーティリティには次の2種類があります。

- secgen.cmd (Windowsの場合)

- secgen.sh (UNIXの場合)

C.5.1 ファイルベースのプロバイダ構成ファイルの生成

ファイル・ベースのセキュリティ・プロバイダ構成ファイルを生成するには、次のコマンド・ライン・オプションを使用します。

secgen -F [-o outputfile] [-i inputkeyfile] [-e] [-P PropertyFilePath]

説明:

表C-3 ファイルベースのプロバイダ構成ファイルのsecgen引数

オプション

説明

コメント

-F

ファイルベースのセキュリティ・プロバイダ・ファイルを生成します。-kオプションと同時には使用できません。

指定しない場合は-kが想定されます。

-o

outputfileは、生成されるファイルの名前です。

デフォルトの出力ファイル名はsecurity.xmlです。

-i

inputkeyfileは、入力キー・ファイルの完全修飾名です。

指定しない場合は、デフォルトの入力キー・ファイルのsecurity-key.datが想定されます。

-e

認可時に完全一致の裁決を有効にします。

-P

PropertyFilePathは、プロバイダの構成をカスタマイズするために使用できるsecgenプロパティ・ファイルの完全修飾パスです。

詳細は、C.5.3項「secgenプロパティ・ファイルの使用」を参照してください。

SecGenTemplate.propertiesテンプレート・ファイルはORACLE_CEP_HOME/ocep_11.1/binにあります。ORACLE_CEP_HOMEは、/oracle_cepなどのOracle CEPメイン・インストール・ディレクトリです。

C.5.2 キー・ファイルの生成

セキュリティ・キー・ファイルを生成するには、次のコマンド・ライン・オプションを使用します。

secgen [-k] [-o outputfile]

説明:

表C-4 キー・ファイルのsecgen引数

オプション

説明

コメント

-k

キー・ファイルを生成します。-Fオプションと同時には使用できません。

指定しない場合は-kが想定されます。

-o

outputfileは、生成されるファイルの名前です。

デフォルトの出力ファイル名はsecurity-key.datです。

C.5.3 secgenプロパティ・ファイルの使用

secgenを実行する際、-Pオプションを使用してプロパティ・ファイルを指定し、プロバイダ構成をカスタマイズできます。SecGenTemplate.propertiesテンプレート・ファイルはORACLE_CEP_HOME/ocep_11.1/binにあります。ORACLE_CEP_HOMEは、/oracle_cepなどのOracle CEPメイン・インストール・ディレクトリです。

プロパティ・ファイルではクリア・テキストのパスワードを指定しますが、指定したパスワードは、生成される構成ファイルに暗号化されて格納されます。

次の例は、ファイル・ベースでのプロバイダのカスタマイズに使用するプロパティ・ファイルを示しています。

#File based provider related
file.atn.file.store.path=myfileatnstore.txt
file.atn.file.store.password=firewall
file.atn.user.password.style=HASHED
file.atn.file.store.encrypted=true
file.atz.file.store.path=filatz
file.atz.file.store.password=firewall
file.rm.file.store.path=filerm
file.rm.file.store.password=firewall
file.cm.file.store.path=filecm
file.cm.file.store.password=firewall

file.atn.user.password.styleの有効な値は次のとおりです。

- HASHED

- REVERSIBLEENCRYPTED

C.5.4 secgenの使用例

次の例は、secgenユーティリティを使用して、myKeyFile.datというキー・ファイルを生成する方法を示しています。

prompt> secgen -k -o myKeyFile.dat

次の例は、secgenユーティリティを使用して、myConfigFile.xmlという名前のファイルベースのセキュリティ・プロバイダ構成ファイルを生成する方法を示しています。この例では、myKeyFile.datという事前に生成したキー・ファイルおよびmySecGen.propertiesというプロパティ・ファイルも使用しています。

prompt> secgen -F -i myKeyFile.dat -o myConfigFile.xml -P  c:\msa\myMSAConfig\mySecGen.properties

C.5.5 secgenの制限

Windowsオペレーティング・システムではこのユーティリティの.cmdバージョンを、Unixプラットフォームでは.shバージョンを使用する必要があります。

このユーティリティのUnixバージョンは、#!/bin/kshディレクティブで起動します。ほとんどのUnixシステムでは、このディレクティブにより、ユーティリティ使用時にKorn Shellプログラムが使用されます。kshプログラムがbinディレクトリにない場合、または使用しているシェル言語でユーティリティを正しく実行できない場合は、次のようにしてユーティリティを実行してください。

prompt> $PATH_TO_KSH_BIN/ksh -c secgen.sh

PATH_TO_KSH_BINはkshプログラムの完全修飾パスです。

索引

A  B  C  D  E  F  G  H  I  J  L  M  N  O  P  R  S  T  U  W

A

アダプタ

HTTPパブリッシュ/サブスクライブ・サーバー, 14.1.2

すべてのグループ, 5.2.2 Apacheログ・フレームワーク

情報, 15.1.1

API, 15.4

ログ・ファクトリ, 15.1.1.1

ログ・ファイル, 15.1.1.3

ログ・フォーマット, 15.1.1.4

ログ重大度, 15.1.1.2

アプリケーション・ライブラリ

ディレクトリ, 13.5.1, 13.5.2

ライブラリ拡張ディレクトリ, 13.5.1, 13.5.2

アプリケーション・ロール, 10.1.3 アプリケーション

依存関係

情報, 1.3.4

ネイティブ・コード, 1.3.4

監査者, 10.10

B

bootclasspath

JDBCドライバ, 13.5.3

ネイティブ・コード依存関係, 1.3.4

bundler.sh, 13.5.1

C

構成履歴管理, 1.3.3

構成MBean, 12.1.3

構成MBean

情報, 12.1.2.2

ネーミング, 12.1.3.1.1

Oracle CEPアプリケーション, 12.1.3.1

connection-creation-retry-frequency-seconds, 13.2.1, 13.2.2 cssconfig, C.1

D

データベース管理システム.See DBMS

DBMSセキュリティ・プロバイダ, 10.1.2

デバッグ

構成, 15.5

フラグ, 15.5

Log4jログ・フレームワーク, 15.3.4

デフォルト・データ・ソース, 13.2.1 デフォルト・グループ, 5.2.2 デフォルト・トランザクション・マネージャ, 13.2.1 DefaultAuditRecorder.log, 10.10 デプロイヤ

情報, B.1

引数

接続, B.4.1

ユーザー資格証明, B.4.2

コマンド, B.4.3 接続引数, B.4.1 環境構成, B.2 起動, B.4 リモート実行, B.3 ユーザー資格証明引数, B.4.2 デプロイ

マルチサーバー・ドメイン, 8.1

スタンドアロンサーバー・ドメイン, 4.1

デプロイメント・グループ

カスタム, 5.2.3

ドメイン, 5.2.2

シングルトン, 5.2.1

ドメイン・デプロイメント・グループ, 5.2.2 ドメイン

マルチサーバー

情報, 5.1

すべてのグループ, 5.2.2

API, 6.4, 7.4

作成, 6.1, 7.1

カスタム・デプロイメント・グループ, 5.2.3

デフォルト・グループ, 5.2.2

デプロイ, 8.1

ディレクトリ構造, 5.4

ドメイン・デプロイメント・グループ, 5.2.2

グループ・メンバーシップ変更, 6.4, 7.4

グループ, 5.2

高可用性通知, 5.3

メッセージ, 5.3, 5.3

通知, 5.3

Oracle CEPネイティブ・クラスタ, 5.1.2

Oracle Coherence, 5.1.1

セキュリティ, 6.3, 7.3

シングルトン・デプロイメント・グループ, 5.2.1

開始, 6.5, 7.5

終了, 6.5, 7.5

更新, 6.2, 7.2

スタンドアロンサーバー

情報, 2.1

作成, 3.1

デプロイ, 4.1

開始, 3.3

終了, 3.3

更新, 3.2

E

encryptMSAConfig, C.2

F

Federal Information Processing Standards.FIPSを参照

ファイル・ベース・セキュリティ・プロバイダ, 10.1.2

FIPS, 10.1.5

G

GrabCert, C.3

グループ, 6.1.2, 7.1.2

マルチサーバー・ドメイン, 5.2

セキュリティ, 10.1.3

H

HTTP pub-subサーバー

情報, 14.1

アダプタ, 14.1.2

チャネル, 14.1.2

構成, 14.3

作成, 14.2

デフォルト・プロパティ, 14.1.2

プロパティ, 14.1.2

セキュリティ, 10.8.4

トランスポート, 14.1.2

URL, 14.1.2

HTTPS, 10.7

I

アイデンティティ, 7.1.1

IPv4, 9.1.2

IPv6, 9.1.2

J

Java Database Connectivity.JDBCを参照

Java Management Extensions.JMXを参照

Java SEセキュリティ

情報, 10.1.1

構成, 10.2

policy.xml, 10.2

security.xml, 10.2

JConsole, 12.3.5, 12.3.6 JDBC

情報, 13.1

構成

アプリケーション・ライブラリ, 13.5.1, 13.5.2

bootclasspath, 13.5.3

Oracle, 13.3

OSGiバンドル, 13.5.1, 13.5.2

その他のドライバ, 13.5

SQLサーバー, 13.4

データ・ソース

情報, 13.2

自動再試行, 13.2.1, 13.2.2

connection-creation-retry-frequency-seconds, 13.2.1, 13.2.1, 13.2.2, 13.2.2

カスタム構成, 13.2.2

デフォルト構成, 13.2.1

デフォルト・トランザクション・マネージャ, 13.2.1

試行, 13.2.1, 13.2.2

使用先, 13.2

ドライバ

Oracle, 13.1.1

SQLサーバー, 13.1.2

セキュリティ, 10.8.3 サポートするデータベース, 13.1.3.1 Jetty

情報, 11.1

セキュリティ, 10.8.1

JMX

情報, 12.1

構成, 12.1.1, 12.2

管理, 12.1.2, 12.3

Oracle CEPコンポーネントの構成, 12.3.1, 12.3.2, 12.3.3

JConsole, 12.3.5, 12.3.6

JRMP, 12.1.2.1

スループットおよび待機時間の監視, 12.3.4

MSA, 12.1.2.1

MBeans

情報, 12.1.2

API, 12.1.3

構成MBean, 12.1.2.2, 12.1.3, 12.1.3.1

構成MBeanのネーミング, 12.1.3.1.1

階層, 12.1.3.3

ランタイムMBean, 12.1.2.3, 12.1.3, 12.1.3.2

ランタイムMBeanのネーミング, 12.1.3.2.1

セキュリティ, 10.8.2 JRMPプロトコル, 12.1.2.1 JsafeJCE, 10.1.5

L

LDAPセキュリティ・プロバイダ, 10.1.2

Lightweight Data Access Protocol.LDAPを参照

Log4jログ・フレームワーク

情報, 15.1.3

アペンダ, 15.1.3.2

構成, 15.3, 15.3.1

デバッグ, 15.3.4

有効化, 15.3.3

レイアウト, 15.1.3.3

ロガー, 15.1.3.1

ロギング

情報, 15.1

Apacheログ・フレームワーク

情報, 15.1.1

API, 15.4

ログ・ファクトリ, 15.1.1.1

ログ・ファイル, 15.1.1.3

ログ・フォーマット, 15.1.1.4

ログ重大度, 15.1.1.2

構成

Log4j, 15.3

ロギング・サービス, 15.2

重大度, 15.2.4

ファイル, 15.1.1.3 形式, 15.1.1.4 ログ・ファイル, 15.1.1.3 ログ・フォーマット, 15.1.1.4 Log4jログ・フレームワーク

情報, 15.1.3

アペンダ, 15.1.3.2

レイアウト, 15.1.3.3

ロガー, 15.1.3.1

OSGiログ・フレームワーク, 15.1.2 重大度, 15.1.1.2

M

MBean

情報, 12.1.2

API, 12.1.3

階層, 12.1.3.3

ネーミング, 12.1.3.1.1, 12.1.3.2.1

MSAプロトコル, 12.1.2.1 マルチキャスト・アドレス, 6.1.1, 7.1.1 マルチサーバー・ドメイン

情報, 5.1

すべてのグループ, 5.2.2

API, 6.4, 7.4

作成, 6.1, 7.1

カスタム・デプロイメント・グループ, 5.2.3

デフォルト・グループ, 5.2.2

デプロイ, 8.1

ディレクトリ構造, 5.4

ドメイン・デプロイメント・グループ, 5.2.2

グループ・メンバーシップ変更, 6.4, 7.4

グループ, 5.2

高可用性通知, 5.3

メッセージ, 5.3, 5.3

通知, 5.3

Oracle CEPネイティブ・クラスタ, 5.1.2

Oracle Coherence, 5.1.1

セキュリティ, 6.3, 7.3

シングルトン・デプロイメント・グループ, 5.2.1

開始, 6.5, 7.5

終了, 6.5, 7.5

更新, 6.2, 7.2

N

ネットワーク入力/出力.See Network I/O

ネットワークI/O

情報, 9.1

クライアント

情報, 9.3

構成, 9.3.1

インターネット・プロトコル

IPv4, 9.1.2

IPv6, 9.1.2

IPv4, 9.1.2 IPv6, 9.1.2 プロバイダ, 9.1.1 provider-type, 9.1.1 サーバー

情報, 9.2

構成, 9.2.1

O

Oracle CEPネイティブ・クラスタ

情報, 5.1.2

マルチサーバー・ドメインの作成, 7.1

Oracle Coherence

情報, 5.1.1

構成

キャッシュ, 6.1.3

キャッシュ・システム, 6.1.3

マルチサーバー・ドメイン, 5.1.1 OSGi

HTTPサーバー, 11.1

ログ・フレームワーク, 15.1.2

P

passgen, C.4

パスワード強度, 10.4

policy.xml, 10.2

provider-type, 9.1.1

R

再試行, 13.2.1, 13.2.2

ロール

情報, 10.1.3

アプリケーション, 10.1.3

タスク, 10.1.3

ランタイムMBean, 12.1.2.3, 12.1.3, 12.1.3.2 ランタイムMBeanのネーミング, 12.1.3.2.1

S

secgen, C.5

Secure Sockets Layer.See SSL

セキュリティ

情報, 10.1

監査者

情報, 10.10

DefaultAuditRecorder.log, 10.10

ログ・ファイル, 10.10

cssconfig, C.1 無効化, 10.1.6 有効化, 10.1.6 encryptMSAConfig, C.2 FIPS, 10.1.5 GrabCert, C.3 グループ, 10.1.3 HTTPパブリッシュ/サブスクライブ・サーバー, 14.2, 14.3 HTTPS, 10.7 Java SE

情報, 10.1.1

構成, 10.2

policy.xml, 10.2

security.xml, 10.2

JDBC, 13.2.2 Jetty, 11.2 JMX, 12.2 マルチサーバー・ドメイン, 6.3, 7.3, 10.5.3 Oracle CEPサービス

情報, 10.8

HTTPパブリッシュ/サブスクライブ・サーバー, 10.8.4

JDBC, 10.8.3

Jetty, 10.8.1

JMX, 10.8.2

passgen, C.4 パスワード強度, 10.4 プロバイダ

情報, 10.1.2

構成, 10.3

DBMS, 10.1.2

ファイルベース, 10.1.2

FIPS, 10.1.5

JsafeJCE, 10.1.5

LDAP, 10.1.2

ロール

情報, 10.1.3

アプリケーション, 10.1.3

タスク, 10.1.3

secgen, C.5 SSL

情報, 10.1.4

構成, 10.5

マルチサーバー・ドメイン, 6.3, 7.3

wlevs.Adminユーティリティ, A.4

ユーザー, 10.1.3 ユーティリティ

cssconfig, C.1

encryptMSAConfig, C.2

GrabCert, C.3

passgen, C.4

secgen, C.5

security.xml, 10.2 サーバー・ホスト名, 6.1.1, 7.1.1 サーバー名, 6.1.1, 7.1.1 サーブレット, 11.1 SSL

情報, 10.1.4

構成, 10.5

マルチサーバー・ドメイン, 6.3, 7.3

wlevs.Adminユーティリティ, A.4

スタンドアロンサーバー・ドメイン

情報, 2.1

作成, 3.1

デプロイ, 4.1

開始, 3.3

終了, 3.3

更新, 3.2

T

タスク・ロール, 10.1.3

トランザクション・マネージャ

デフォルト, 13.2.1

U

ユーザー, 10.1.3

ユーティリティ

デプロイヤ, B.1

セキュリティ

cssconfig, C.1

encryptMSAConfig, C.2

GrabCert, C.3

passgen, C.4

secgen, C.5

wlevs.Admin, A.1

W

wlevs.Admin

情報, A.1

引数

共通, A.8

接続, A.6

ユーザー資格証明, A.7

コマンド

構成履歴, A.16

イベントの記録と再生, A.14

MBeanの種類, A.13.1

MBeans, A.13.2

スループットと待機時間の監視, A.15

ルール, EPL, A.12

ルール, Oracle CQL, A.11

サーバー・ライフサイクル, A.10

共通の引数, A.8 接続引数, A.6 環境構成, A.2 終了コード, A.5.2 ヘルプ, A.9 起動, A.5 リモート実行, A.3 SSL, A.4 ユーザー資格証明の引数, A.7 wlevs.Adminコマンド

ADDPARAMS, A.12.5

ADDRULE, A.11.2, A.12.1

CONFIGHISTORY, A.16.1

CONFIGUREPLAYBACK, A.14.8

CONFIGURERECORD, A.14.3

DELETECONFIGCHANGEHISTORY, A.16.2

DELETEPARAMS, A.12.6

DELETERULE, A.11.3, A.12.2

DOWNLOAD, A.11.8, A.12.9

GET, A.13.3

GETPARAMS, A.12.7

GETRULE, A.11.1, A.12.4

INVOKE, A.13.4

LISTCHANGERECORDS, A.16.3

LISTPLAYBACK, A.14.10

LISTRECORD, A.14.5

LISTRESOURCEREVISIONS, A.16.4

MONITORAVGLATENCY, A.15.1

MONITORAVGLATENCYTHRESHOLD, A.15.2

MONITORAVGTHROUGHPUT, A.15.4

MONITORMAXLATENCY, A.15.3

QUERY, A.13.5

REPLACERULE, A.11.4, A.12.3

SCHEDULEPLAYBACK, A.14.9

SCHEDULERECORD, A.14.4

SET, A.13.6

SHUTDOWN, A.10.1

STARTPLAYBACK, A.14.6

STARTRECORD, A.14.1

STARTRULE, A.11.5

STOPPLAYBACK, A.14.7

STOPRECORD, A.14.2

STOPRULE, A.11.6

UNDOCONFIGCHANGE, A.16.5

UPLOAD, A.11.7, A.12.8

Copyright © 2007, 2012, Oracle and/or its affiliates. All rights reserved.