次このページのスクリプトは、ナビゲーション目的のみのもので、内容を変更しません。Processingイベント・タイプの定義方法について説明します。定義するイベント・タイプを介して、コードでイベント・データにアクセスします。この章の説明に従って、書き込むJavaBeanクラスなどのいくつかのデータ型のいずれかに基づくイベント・タイプを定義します。イベント・タイプ・リポジトリの一部として構成して、イベント・タイプをアプリケーションに追加します。イベント・タイプは構成XMLを介してリポジトリに通常追加されますが、プログラムとしてリポジトリにアクセスするコードを書き込むこともできます。この章の内容は次のとおりです。Processingアプリケーションのイベント・データを表す方法です。イベントは、特定の時間に発生した事象に関連する構造化データです。サーバー室の環境の変更に対応するようアプリケーションを設計している場合、イベント・データには、環境を監視するデバイスで収集されるスナップショット情報が含まれる可能性があります。アプリケーションで株式市場の取引に関連するトレンドおよびパターンに注目する場合、イベント・データは、取引された株、取引量、株価などを含む取引に対応する値である可能性があります。アプリケーションへのイベント・データは、様々な形式で到着する可能性があります。イベント・タイプを作成してアプリケーション内のデータを表すことによって、アプリケーションのロジックの予測可能な方法を作成してデータを使用します。Processingアプリケーションの作成に不可欠な部分です。実際のイベント・タイプの作成および使用は、8.3項「イベント・データを移動するイベント・タイプの作成」を参照してください。作成するイベント・タイプのインスタンスは、アプリケーションのイベント処理ネットワーク(EPN)を介してイベント・データを移動します。イベント・タイプの設計および実装の適切な決定を行うため、どのようにコードでイベントを使用するかに留意してください。Processingサーバーまたは独自のアプリケーション・ロジックによって使用されます。Processingサーバーは、タイプのインスタンスを作成し、データをバインドします。イベント・タイプ・インスタンスの作成方法をより詳細に制御するには、イベント・タイプ・ビルダーを作成できます。詳細は、9.3.1.5項「イベント・タイプ・ビルダー・クラスでのイベント・タイプのインスタンス化の制御」を参照してください。イベント・タイプ・インスタンスを使用する主な場所を次に示します。着信イベント・データが外部ソースから到着する場合、イベント・タイプ・インスタンスにバインドされます。CQLプロセッサが問合せを実行し、結果を出力する場合、イベント・タイプのインスタンスは、EPNのダウンストリームのステージに結果イベント・データを移動するために作成されます。イベントを処理するJavaコードなどのアプリケーションのJavaロジックでは、新しいイベント・タイプ・インスタンスを作成して、EPNのダウンストリームのステージに送信できます。イベントを作成するJavaコードはイベント・ソースと呼ばれます。イベント・ソースの実装の詳細は、16.2.2項「イベント・ソースの実装」を参照してください。Processingでサポートされるデータ型のいずれかとしてタイプを実装する必要があるイベント・データを識別します。手順の概要は次のとおりです。イベント・タイプを設計します。基本的に、アプリケーションに関連するイベント・データのセットを識別し、データをイベント・タイプで表す方法を選択します。詳細は、9.2項「イベント・タイプの設計」を参照してください。イベント・タイプを作成します。JavaBeanクラスとして実装、タプルとして構成、java.util.Mapとして構成。タイプのインスタンス化方法をより詳細に制御するには、イベント・タイプ・ビルダーを実装することもできます。詳細は、9.3項「イベント・タイプの作成」を参照してください。Processingでサポートする実装オプションにマップします。イベントの設計には、次のタスクが含まれます。イベント・タイプが表すイベント・データの構造を識別します。これは、サーバー室のモニターなどの外部ソースからのrawイベント・データの構造である可能性があります。コードでタイプのインスタンスを送信するダウンストリーム・ステージまたはコンポーネントで必要なデータ構造である可能性もあります。詳細は、9.2.1項「イベント・データの構造の識別」を参照してください。作成するイベント・タイプの基本になるデータ型を選択します。JavaBeanクラス、タプルまたはjava.util.Mapインスタンス。詳細は、9.2.2項「イベント・タイプのデータ型の選択」を参照してください。イベント・タイプの計画された使用に留意し、それらの使用による潜在的な制約に注意してください。詳細は、9.2.3項「イベント・タイプの設計の制約」を参照してください。XMLファイルのイベント・タイプを構成する場合にタイプを混合して使用できることに注意してください。詳細は、9.2.4項「イベント・タイプ・データ型の使用の混在」を参照してください。イベント・データの構造の識別イベント処理ネットワークを定義する早期タスク(通常は簡単なタスク)では、イベント・データの構造を明確にし、データをEPN内で処理する形式を定義します。作成するイベント・タイプには、アプリケーションで参照するイベント・データの各部分のプロパティが含まれます。これらの各プロパティには、固有のデータ型があります。イベント・タイプを作成する前に、イベント・データのサンプルを使用して、タイプのプロパティおよびデータ型を定義します。株式取引のイベント・データの非常に単純なセットを考慮します。カンマ区切り値の行として表され、取引イベント・データは次のようになります。ORCL,14.1,6000次の表は、イベント・データを個別の値に分割する方法を示し、それぞれにイベント・タイプ・プロパティを定義しています。サンプル・データ値ロールデータのタイプイベント・タイププロパティ名ORCL銘柄記号charactersymbol14.1株価numberprice6000取引される株式数numbervolumeイベント・タイプの作成方法にかかわらず、プロパティおよびデータ型の意味がある必要があります。プロパティ・データ型の指定方法は、イベント・タイプをベースとするデータ型によって異なります。イベント・タイプとしてJavaBeanクラスを実装する場合、表で指定された3つの値のデータ型は次のようになります。イベント・タイププロパティ名Javaデータ型symbolStringpriceDoublevolumeIntegerタプルまたはjava.util.Mapとしてイベント・タイプを作成した場合、データ型が異なることがあります。詳細は、9.2.2項「イベント・タイプのデータ型の選択」を参照してください。JavaBeanクラス、タプルまたはjava.util.Map。各データ型に固有の利点および制限がありますが、ベスト・プラクティスはJavaBeanクラスとしてイベント・タイプを作成し、アクセッサ・メソッドとしてイベント・タイプ・プロパティを実装することです。JavaBeanを使用すると、アプリケーション・ロジックの一部としてイベント・タイプがさらに柔軟に処理され、既存のシステムとの統合が簡略化されます。イベント・タイプをJavaBeanクラスとして実装した場合、イベント・タイプ・ビルダー・クラスを実装して、イベント・タイプのインスタンス化を(必要に応じて)厳密に制御することもできます。タプルまたはjava.util.Mapとしてイベント・タイプを作成する場合、EPNアセンブリ・ファイルでイベントを定義してプロパティを宣言的に指定してこれを行います。Processingはデフォルトとしてタプル型を使用します。サポートされている各データ型の利点および制限は、表9-1「イベント・タイプのデータ型」を参照してください。利点および制限JavaBeanJavaBean規則で書き込まれるJavaクラス。ProcessingサーバーおよびCQLプロセッサによって使用され、イベント・プロパティ値を取得および設定します。Processingイベント・タイプの作成」を参照してください。最大の柔軟性およびイベントを処理するアプリケーション・ロジックの使いやすさを提供するため、このタイプはベスト・プラクティスです。アクセッサ・メソッドを介して、直接プロパティ値にアクセスします。Processingアプリケーションと他のシステムを統合する場合により役立つ可能性があります。タイプのインスタンス化方法を制御する場合、イベント・タイプ・ビルダー・クラスを実装できます。構成ファイルでイベント・タイプを単純に宣言するのではなく、JavaBeanクラスを書き込む必要があります。BYのJavaBeanプロパティをサポートしません。タプルEPNアセンブリ・ファイルで宣言的に作成して、登録する構造。Processingイベント・タイプの作成」を参照してください。イベント・タイプを作成するJavaプログラミングは必要ありません。EPNアセンブリ・ファイルで宣言して、イベント・タイプを作成します。迅速なプロトタイピングに役立ちます。Javaアプリケーション・ロジックのこのタイプのインスタンスの使用では、イベント・タイプ・リポジトリにプログラムからアクセスしてインスタンスのプロパティ値を取得する必要があります。Processingと他のシステムを統合すると、タプルは有用にならない可能性もあります。java.util.Mapjava.util.Mapのインスタンスに基づいています。Mapインタフェースを実装または拡張しません。正確には、EPNアセンブリ・ファイルでイベント・タイプを構成する場合にインタフェースを使用することを指定します。Javaコードを書き込んでタイプ・インスタンスにアクセスする場合、Mapインスタンスとして処理します。Processingイベント・タイプの作成」を参照してください。タイプを作成するJavaプログラミングは必要ありません。EPNアセンブリ・ファイルで宣言して、イベント・タイプを作成します。迅速なプロトタイピングに役立ちます。他のタイプと同じように実行しません。CQLが様々なデータ型を処理およびサポートする方法の詳細は、次を参照してください。イベント・タイプの設計の制約イベント・タイプの使用方法に応じて、特定の制約に留意する必要がある場合があります。イベント・タイプを構成する場合のプロパティのデータ型または特定の属性の値の設定方法を制限する必要がある場合があります。次の項は、イベント・タイプ設計の制約範囲を示します。csvgenアダプタとともに使用するイベント・タイプの制約csvgenアダプタとともに使用するイベント・タイプのプロパティを宣言的に指定する場合、表9-2に示すデータ型のみ使用することがあります。csvgenアダプタ・タイプタイプ使用方法char単一または複数の文字値。char値およびjava.lang.String値の両方に使用します。オプションで、例9-6でプロパティ名idで指定しているように、char値の最大長を指定するには、length属性を使用できます。デフォルトの長さは256文字です。256文字を超える必要がある場合、適当な長さを指定する必要があります。intjava.lang.Integerで指定される範囲内の数値floatjava.lang.Floatで指定される範囲内の数値longjava.lang.Longで指定される範囲内の数値。データベース表ソースとともに使用するイベント・タイプの制約イベント・データのソースとしてリレーショナル・データベース表を使用して、実行時に表からイベント・タイプ・インスタンスにデータをバインドします。イベント・データ・ソースがデータベース表の場合、次の表で表されるガイドラインに従う必要があります。イベント・タイプでデータベース表からデータを受信する場合、タイプに構成されたプロパティごとにデータベースの特定の列からデータを受信します。イベント・タイプを構成する場合、表9-3「EPNアセンブリ・ファイルevent-type要素プロパティ属性」に示されているように、プロパティの子要素に特定の意味および値制約を持つ属性があることに注意してください。TABLE文で指定されている、アクセスする表の列の名前。すべての列を指定する必要はありません。TABLE文で指定されている列サイズ。Processingタイプの対応するもの」に示す追加JDBCタイプの制限に従う必要があります。Javaタイプcom.bea.wlevs.ede.api.Type説明ARRAY[Ljava.lang.Objectjava.lang.Objectの深度1の配列。BIGINTjava.math.BigIntegerbigintjava.math.BigIntegerのインスタンス。BINARYbyte[]byteの深度1の配列。BITjava.lang.Booleanbooleanjava.lang.Booleanのインスタンス。BLOBbyte[]byteの深度1の配列。BOOLEANjava.lang.Booleanbooleanjava.lang.Booleanのインスタンス。CHARjava.lang.Charactercharjava.lang.Characterのインスタンス。CLOBbyte[]byteの深度1の配列。DATEjava.sql.Datetimestampjava.sql.Dateのインスタンス。DECIMALjava.math.BigDecimaljava.math.BigDecimalのインスタンス。2java.lang.Doubledoublejava.lang.Doubleのインスタンス。2java.lang.Doublefloatjava.lang.Doubleのインスタンス。INTEGERjava.lang.Integerintjava.lang.Integerのインスタンス。JAVA_OBJECTjava.lang.Objectobjectjava.lang.Objectのインスタンス。LONGNVARCHARchar[]charcharの深度1の配列。LONGVARBINARYbyte[]byteの深度1の配列。LONGVARCHARchar[]charcharの深度1の配列。NCHARchar[]charcharの深度1の配列。NCLOBbyte[]byteの深度1の配列。NUMERICjava.math.BigDecimaljava.math.BigDecimalのインスタンス。NVARCHARchar[]charcharの深度1の配列。OTHERjava.lang.Objectobjectjava.lang.Objectのインスタンス。REALjava.lang.Floatfloatjava.lang.Floatのインスタンス。SMALLINTjava.lang.Integerintjava.lang.Integerのインスタンス。(SQLX)に関する項を参照してください。TIMEjava.sql.Timejava.sql.Timeのインスタンス。TIMESTAMPjava.sql.Timestamptimestampjava.sql.Timestampのインスタンス。TINYINTjava.lang.Integerintjava.lang.Integerのインスタンス。VARBINARYbyte[]byteの深度1の配列。VARCHARchar[]charcharの深度1の配列。Oracle以外のSQL。イベント・タイプ・データ型の使用の混在EPNアセンブリ・ファイルでイベント・タイプを定義する場合、別のイベント・タイプのプロパティ・データ型としてJavaBeanベースのイベント・タイプを使用できます。例9-1は、アドレスプロパティをJavaBeanイベント・タイプAddressとして定義するタプル・イベント・タイプStudentを表しています。Processingアプリケーション内のイベント・データへのアクセスを提供するイベント・プロパティを定義します。CQLルールに使用されます。イベント・タイプを作成する場合、作成するタイプのベースとして3つのサポートされているデータ型のいずれかを選択します。ベスト・プラクティスは、少しのJavaコードを書き込んでプロパティのイベント・データを処理してJavaBeanクラスとしてタイプを作成できることです。タプルまたはjava.util.Mapとしてタイプを宣言的に作成することもできます。タイプを作成する前に、設計上の考慮事項について9.2項「イベント・タイプの設計」を参照できます。Processingイベント・タイプの作成JavaBeanとしてイベント・タイプを作成すると、アプリケーション・ロジックでタイプのインスタンスを使用する場合に最大レベルの柔軟性が提供されます。そのため、JavaBeanクラスの使用はイベント・タイプを作成するベスト・プラクティスです。BYにある式をサポートしていません。その結果、これらはJavaプロパティをサポートしておらず、失敗します。CQLビューを使用します。サーバーまたは提供するイベント・タイプ・ビルダー・クラスの使用。インスタンス・ファクトリとしてイベント・タイプ・ビルダー・クラスを提供することによって、自身でインスタンスを作成し、イベント・データ値がJavaBeanプロパティにバインドされる方法を含む作成方法を制御できます。詳細は、9.3.1.5項「イベント・タイプ・ビルダー・クラスでのイベント・タイプのインスタンス化の制御」を参照してください。Processingシステムとの最適な統合を保証します。Processingサーバーがクラスをインスタンス化できる空の引数のパブリック・コンストラクタを作成します。イベント・プロパティごとに、JavaBean規則に従うパブリック・アクセッサ(getおよびsetメソッド)を実装します。これらはサーバーによって使用され、イベント・プロパティ値にアクセスします。JavaBeanとしてイベント・タイプを定義する場合、いずれかのJavaタイプをそのプロパティに使用できます。JavaBean規則を理解していない場合、追加詳細はhttp://docs.oracle.com/javase/tutorial/javabeans/のJavaBeansチュートリアルを参照してください。hashCodeおよびequalsメソッドを実装します。Processingサーバーで使用するクラスが最適化されます。IDEを使用している場合、アクセッサを追加した後にクラスの「ソース」コンテキスト・メニューを介してhashCodeおよびequalsメソッドを簡単に実装できます。Coherenceでイベントをキャッシュする場合、クラスをシリアライズ可能にします。このトピックでは、次の内容について説明します。Processingイベント・タイプを作成して登録する方法について説明しています。Eclipseの概要」を参照してください。Processingイベント・タイプを手動で作成する方法」を参照)。Processingイベント・タイプを作成するには、次の手順を実行します。イベント・タイプを表すためにJavaBeanクラスを作成します。Processingイベント・タイプの作成」に記載されているガイドラインに必ず従ってください。例9-2では、com.bea.wlevs.example.algotrading.event.MarketEventクラスで実施されたMarketEventを表します。methods.}イベント・タイプを表すJavaBeanをコンパイルします。IDEで、EPNエディタのEPNを開きます。詳細は、7.1項「EPNエディタを開く」を参照してください。「イベント・タイプ」タブをクリックします。「イベント・タイプの追加」(緑のプラス記号)をクリックします。図9-1に示すように、デフォルト名newEventを持つ新しいイベントが「イベント・タイプの定義」リストに追加されます。「イベント・タイプの定義」リストで、newEventを選択します。このイベントのプロパティは、図9-1に示すように、「イベント・タイプの詳細」領域に表示されます。このイベントの名前を「タイプ名」フィールドに入力します。Beanで定義されたプロパティ」をクリックします。JavaBeanクラスの完全修飾クラス名を「Classクラス」フィールドに入力します。com.bea.wlevs.example.algotrading.event.MarketEventです。ツールバーの「保存」ボタンをクリックします(またはCTRL-Sを押します)。これで、イベントがイベント・タイプ・リポジトリに表示されます。イベント・タイプ・リポジトリ・エディタを使用して、次のことができます。EPNアセンブリ・ファイルの対応するイベント・タイプ定義を表示するには、「イベント・タイプの定義」領域のイベント・タイプをダブルクリックします。(赤いx)をクリックします。Processingイベント・タイプを手動で作成して登録する方法について説明しています。Processingイベント・タイプを作成する方法」を参照)。Processingイベント・タイプを手動で作成するには:イベント・タイプを表すためにJavaBeanクラスを作成します。標準のJavaBeanプログラミング・ガイドラインに準拠します。追加詳細は、http://java.sun.com/docs/books/tutorial/javabeans/のJavaBeansチュートリアルを参照してください。イベントを設計する場合、設計を9.2.4項「イベント・タイプ・データ型の使用の混在」で説明されたイベント・データ型に制限する必要があります。例9-3では、com.bea.wlevs.example.algotrading.event.MarketEventクラスで実施されたMarketEventを表します。methods.}イベント・タイプを表すJavaBeanをコンパイルします。Processingイベント・タイプ・リポジトリにJavaBeanイベント・タイプを登録します。宣言的に登録するには、例9-4に示すように、wlevs:event-type-repository要素wlevs:event-type子要素を使用して、EPNアセンブリ・ファイルを編集します。</wlevs:event-type></wlevs:event-type-repository>プログラムとして登録するには、例9-5に示すように、EventTypeRepositoryクラスを使用します。com.bea.wlevs.example.algotrading.event.MarketEvent.getClass());詳細は、9.4項「イベント・タイプ・リポジトリにアクセス」を参照してください。JavaコードのJavaBeanイベント・タイプ・インスタンスの使用アプリケーションのビジネス・ロジックおよびアダプタのJavaコードの標準のJavaBeansとしてイベント・タイプを参照します。次のコードは、イベント・シンク・クラスからonEventメソッドを実装します。イベント・シンクの詳細は、16.2.1項「イベント・シンクの実装」を参照してください。CQLルールでは、SELECT文でMarketEventを参照するかを表します。イベント・タイプがMarketEventであるmarketEventChannelと呼ばれるアップストリーム・チャネルを前提とします。CQLコードでは、標準のJavaBeanスタイル・プロパティ・アクセスを使用してそれらのプロパティ内の値を取得できます。次の構成スニペットの抜粋では、JavaBeanクラスとして実装されるStudentTypeイベント・タイプを宣言しています。JavaBeanクラスであるアドレス・プロパティを持つJavaBeanです。次の問合せは、アドレス・プロパティの基礎となるAddressオブジェクトの値にアクセスする方法を示します。この問合せでは、郵便番号が"97"で始まる生徒のアドレスを選択します。イベント・タイプ・ビルダー・クラスでのイベント・タイプのインスタンス化の制御イベント・タイプ・ビルダーを作成して、イベント・タイプ・インスタンスの作成方法をより詳細に制御できます。イベント・タイプ・ビルダーを使用して、構成されたイベントのプロパティがJavaBeanとして実装したクラスなどのイベント・タイプ・クラスのプロパティに正しくバインドされていることを確認できます。CQLコードで仮定されるイベント・プロパティ名がクラスで宣言されているプロパティの名前と異なる場合などで、イベント・タイプ・ビルダーが必要になります。イベント・タイプにfirstnameプロパティが含まれている一方で、イベント・タイプで実行されるCQLルールではそのプロパティがfnameと呼ばれるとします。(たとえば、他のバンドルからの共有イベント・クラスを使用しているなどの理由から)、相互の互換性を実現するためにイベント・タイプ・クラスを変更することも、CQLルールを変更することもできないと想定します。この場合は、イベント・タイプ・ビルダー・ファクトリを使用して、プロパティ名をfirstnameのかわりに{fnameにするよう、イベント・タイプ・インスタンスの作成方法を変更できます。Processingサーバーからプロパティ値を受信し、それらの値を使用して作成したイベント・タイプ・クラスのインスタンスを作成します。次に、イベント・タイプ・ビルダーはインスタンスをサーバーに戻します。このように、サーバーで構成されたプロパティをイベント・タイプ・プロパティにマップする方法を決定できない場合、ビルダー・クラスは実質的に中間のインスタンス化しているイベント・タイプです。イベント・タイプ・ビルダーの作成および使用には、次の項に示されているように、ビルダーを使用するためのビルダー・クラスの実装およびJavaBeanイベント・タイプの構成が含まれます。イベント・タイプ・ビルダー・クラスの実装イベント・タイプ・ビルダー・ファクトリをプログラミングする場合は、com.bea.wlevs.ede.api.EventBuilderインタフェースのEventBuilder.Factory内部インタフェースを実装する必要があります。APIリファレンスを参照してください。次の例は、FXサンプルからのイベント・タイプ・ビルダー・ファクトリ・クラスの例です。name="builderFactory">子要素を使用してイベント・タイプ・ビルダー・クラスの名前を指定します。Processingに対してアラートされます。FXサンプルでは、ビルダー・ファクトリは太字で示されたとおりに登録されています。Processingイベント・タイプを簡単に作成できます。したがって、タプルはイベント・タイプを作成する最も簡単な方法であるため、迅速なプロトタイピングに役立ちます。タプルおよびjava.util.Mapデータ型は、JavaBeanクラスとしてイベント・タイプを作成するより柔軟性が低くなります。APIを使用してプロパティ値を常に設定および取得する必要があります。イベントを設計する場合、タイプのプロパティの設計を9.3.2.1項「タプルベースのイベント・タイプのプロパティのタイプ」に示されているデータ型に制限する必要があります。開始する前に、9.2項「イベント・タイプの設計」のイベント・タイプの設計上の推奨事項を参照してください。このトピックでは、次の内容について説明します。タプルベースのイベント・タイプのプロパティのタイプEPNアセンブリ・ファイルにタプルとしてイベント・タイプのプロパティを宣言的に指定する場合は、com.bea.wlevs.ede.api.Typeで指定されたタイプを使用できます。サポートされているプロパティ・タイプの詳細は、C.23項「wlevs:property」を参照してください。例9-6には、様々なタイプの使用方法を示します。Processingイベント・タイプの作成」を参照してください。Processingイベント・タイプを作成して登録する方法を説明します。Eclipseの概要」を参照してください。Processingイベント・タイプを手動で作成する方法」を参照)。Processingイベント・タイプを作成するには、次の手順を実行します。イベント・タイプに必要なプロパティを決定します。イベントを設計する場合、設計を9.3.2.1項「タプルベースのイベント・タイプのプロパティのタイプ」で説明されたイベント・データ型に制限する必要があります。IDEで、EPNエディタのEPNを開きます。詳細は、7.1項「EPNエディタを開く」を参照してください。「イベント・タイプ」タブをクリックします。「イベント・タイプの追加」(緑のプラス記号)をクリックします。図9-2に示すように、デフォルト名newEventを持つ新しいイベントが「イベント・タイプの定義」リストに追加されます。「イベント・タイプの定義」リストで、newEventを選択します。このイベントのプロパティは、図9-2に示すように、「イベント・タイプの詳細」領域に表示されます。このイベントの名前を「タイプ名」フィールドに入力します。「宣言で定義されたプロパティ」をクリックします。1つ以上のイベント・プロパティを追加します。「イベント・プロパティの追加」(緑のプラス記号)をクリックします。新しい行が「イベント・タイプの詳細」表に追加されます。この行の「名前」列をクリックしてプロパティ名を入力します。この行の「タイプ」列をクリックして、プルダウン・メニューからデータ型を選択します。イベントを設計する場合、設計を9.3.2.1項「タプルベースのイベント・タイプのプロパティのタイプ」で説明されたイベント・データ型に制限する必要があります。charデータ型プロパティについてのみ、この行の「'char'の長さ」列をクリックして、このcharプロパティの最大長の値を入力します。オプションで、char値の最大長を指定するために、length属性を使用できます。デフォルトの長さは256文字です。最大長はjava.lang.Integer.MAX_VALUEです。256文字を超える必要がある場合、適当な長さを指定する必要があります。ツールバーの「保存」ボタンをクリックします(またはCTRL-Sを押します)。これで、イベントがイベント・タイプ・リポジトリに表示されます。イベント・タイプ・リポジトリ・エディタを使用して、次のことができます。EPNアセンブリ・ファイルの対応するイベント・タイプ定義を表示するには、「イベント・タイプの定義」領域のイベント・タイプをダブルクリックします。(赤いx)をクリックします。Processingイベント・タイプを宣言的に作成して登録する方法について説明しています。イベント・タイプを作成するベスト・プラクティスはJavaBeanクラスとして作成することなので注意してください。Processingイベント・タイプの作成」を参照してください。有効なデータ型の詳細は、9.3.2.1項「タプルベースのイベント・タイプのプロパティのタイプ」を参照してください。Processingイベント・タイプを作成するには:イベント・タイプに必要なプロパティを決定します。イベントを設計する場合、設計を9.3.2.1項「タプルベースのイベント・タイプのプロパティのタイプ」で説明されたデータ型に制限する必要があります。Processingイベント・タイプ・リポジトリにイベント・タイプを宣言的に登録します。宣言的に登録するには、例9-7に示すように、wlevs:event-type-repository要素wlevs:event-type子要素を使用して、EPNアセンブリ・ファイルを編集します。Processingでは、CrossRateEventのBeanインスタンスが生成されます。CrossRateEventには、price、fromRateおよびtoRateの3つのプロパティがあります。type属性の有効な値の詳細は、9.3.2.1項「タプルベースのイベント・タイプのプロパティのタイプ」を参照してください。構成XMLの詳細なリファレンスは、C.13項「wlevs:event-type」、C.22項「wlevs:properties」およびC.23項「wlevs:property」を参照してください。Javaコードのタプル・イベント・タイプ・インスタンスの使用Javaコードのタプルベースのイベント・タイプを使用する場合、値を取得する前にcom.bea.wlevs.ede.api.EventTypeRepositoryインスタンスを使用してタイプのプロパティの名前を取得する必要があります。(EventTypeRepositoryインスタンスの取得の詳細は、9.4項「イベント・タイプ・リポジトリのアクセス」を参照してください)。次の例では、イベント・シンクとして機能するクラスのリポジトリを使用します。CQLルールでは、SELECT文でCrossRateEventをどのように参照するかを表しています。Processingイベント・タイプを作成して、登録できます。Processingイベント・タイプを簡単に作成できます。したがって、これはイベント・タイプを作成する簡単な方法です。タプルおよびjava.util.Mapデータ型は、JavaBeanクラスとしてイベント・タイプを作成するより柔軟性が低くなります。マップとしてイベント・タイプを作成および使用すると、タプル型およびJavaBeanクラスのプロセスの混在のようになります。XMLファイルで構成して、宣言的にマップベース・タイプを作成します。APIを使用してインスタンス・プロパティ値にアクセスする必要はありません。このトピックでは、次の内容について説明します。java.util.Mapベースのイベント・タイプのプロパティのタイプイベント・タイプのプロパティを、java.util.MapとしてEPNアセンブリ・ファイルで宣言的に指定する場合、いずれかのJavaタイプをそのプロパティに使用できます。次のいずれかとしてイベント・プロパティのタイプを指定します。Class.forName()と同じルールに準拠し、アプリケーションのクラス・ローダーで使用できる必要がするJavaクラスの完全修飾名。Javaプリミティブ(たとえば、intまたはfloat)。イベント・タイプ名に文字[]を追加して配列を指定できます。例9-8には、これらのタイプの使用方法を示します。Processingイベント・タイプを作成する方法」を参照してください。Processingイベント・タイプを作成して登録する方法について説明しています。Processingイベント・タイプを手動で作成する方法」を参照)として作成することをお薦めします。有効なイベント・タイプ・データ型の詳細は、9.3.3.1項「java.util.Mapベースのイベント・タイプのプロパティのタイプ」を参照してください。Processingイベント・タイプを作成するには:イベント・タイプに必要なプロパティを決定します。Processingイベント・タイプ・リポジトリにイベント・タイプを登録します。宣言的に登録するには、例9-9に示すように、wlevs:event-type-repository要素wlevs:event-type子要素を使用して、EPNアセンブリ・ファイルを編集します。Processingでは、AnotherEventのBeanインスタンスが生成されます。AnotherEventには、name、ageおよびaddressの3つのプロパティがあります。プログラムとして登録するには、例9-10に示すように、EventTypeRepositoryクラスを使用します。map);詳細は、9.4項「イベント・タイプ・リポジトリにアクセス」を参照してください。Javaコードのマップ・イベント・タイプ・インスタンスの使用Javaコードでマップベースのイベント・タイプ・インスタンスを使用する場合、java.util.Mapインスタンスのようにプロパティにアクセスします。CQLからイベント・タイプにアクセスします。CQLルールでは、SELECT文でMarketEventを参照するかを表します。Processingイベント・タイプ・リポジトリは、アプリケーションに定義されたイベント・タイプを追跡します。イベント・タイプを作成する場合、アプリケーションで使用可能にするには、イベント・タイプ・リポジトリで構成します。場合によっては、リポジトリに明示的にアクセスするコードを書き込む必要がある場合があります。イベント・タイプをタプルとして作成する場合、タイプのインスタンスにアクセスするJavaロジックでは、リポジトリAPIを使用してタイプ定義を最初に取得し、このAPIを使用してインスタンス・プロパティ値にアクセスする必要があります。EventTypeRepositoryは、単一のOSGiサービスです。これは単一であるため、これを識別するためにインタフェース名のみを指定する必要があります。次のいずれかの方法でOSGiからサービスを取得できます。APIリファレンスを参照してください。例9-11に示すように、EPNアセンブリ・ファイルのosgi:referenceを指定してEventTypeRepositoryにアクセスできます。/></bean>その後、MyBeanクラスでは、例9-12に示すように、Springにより初期化されたeventTypeRepositoryプロパティを使用して、EventTypeRepositoryにアクセスできます。@ServiceReference注釈を使用してEventTypeRepositoryにアクセスできます。@Service注釈を使用して、EventTypeRepositoryにアクセスできます。詳細は、I.5項「com.bea.wlevs.util.Service」を参照してください。Processingアプリケーションは、固有のJavaクラス・ローダーを取得し、そのクラス・ローダーを使用してアプリケーションのクラスをロードします。このため、デフォルトでは、あるアプリケーションから別のアプリケーションのクラスにアクセスすることはできません。Processingサーバーにデプロイされた)別のバンドル内のアプリケーションでそれらの共有されたイベント・タイプを使用できるようになります。Processingサーバー・インスタンス全体になります。このため、他のバンドルからの共有イベント・タイプと同名のイベント・タイプを作成しようとすると例外が送出されますが、これらのイベント・タイプのクラスは異なります。イベント・タイプ・クラスを共有するには、共有するイベント・タイプ・リポジトリが含まれているバンドルのMANIFEST.MFファイルのExport-Packageヘッダーにパッケージ名を追加します。共有イベント・タイプを使用するアプリケーションが含まれているすべてのバンドルよりも前に、イベント・タイプ・リポジトリが含まれているバンドルを必ずデプロイするようにします。しないと、デプロイメント例外が送出されます。reserved.法律上の。