Oracle® Fusion Middleware Oracle Stream Analyticsスキーマ・リファレンス 12c リリース (12.2.1.2.0) E82663-01 |
|
![]() 前へ |
![]() 次へ |
アプリケーション・アセンブリ・スキーマは、EPNコンポーネントを宣言するアセンブリ・ファイルの背後にあります。この章は、spring-wlevs-v12_1_3_0.xsd
スキーマの要素のリファレンスです。
この章の内容は次のとおりです。
Oracle Stream Analyticsには、多数のアプリケーション・アセンブリ要素が用意されています。それらの要素をアプリケーションのEPNアセンブリ・ファイル内で使用して、イベント・タイプを登録し、イベント処理ネットワークのコンポーネントを宣言し、各コンポーネントがどのように相互にリンクしているかを指定します。EPNアセンブリ・ファイルは、標準のSpringコンテキスト・ファイルの拡張です。
Oracle Stream Analyticsアプリケーション・アセンブリ要素は、次の階層で構成されます。
beans Standard Spring and OSGi elements such as bean, osgi-service, and so on. wlevs:event-type-repository wlevs:event-type wlevs:class wlevs:metadata wlevs:properties wlevs:property wlevs:adapter wlevs:listener wlevs:instance-property wlevs:property wlevs:processor wlevs:listener wlevs:source wlevs:function wlevs:instance-property wlevs:property wlevs:cache-source wlevs:table-source wlevs:channel wlevs:listener wlevs:source wlevs:instance-property wlevs:property wlevs:application-timestamped wlevs:expression wlevs:event-bean wlevs:listener wlevs:instance-property wlevs:property wlevs:factory wlevs:cache wlevs:caching-system wlevs:cache-loader wlevs:cache-store wlevs:cache-listener wlevs:caching-system wlevs:instance-property wlevs:property wlevs:table
wlevs:adapter
要素を使用して、Springアプリケーション・コンテキストに対してアダプタ・コンポーネントを宣言します。
子要素
wlevs:adapter
アプリケーション・アセンブリ要素は、次の子要素をサポートします。
属性
表2-1 wlevs:adapterアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
このコンポーネントの一意の識別子。 この識別子は、このアダプタのXML構成ファイル内の |
|
はい |
|
このサービスをOSGiレジストリに公開します。 有効な値は、 |
|
いいえ |
|
このコンポーネントをリスニングするコンポーネントを指定します。 この属性は、コンポーネントを宣言した要素の |
|
いいえ |
|
アダプタ・サービス・プロバイダを指定します。通常、この属性の値はOSGiに登録されたアダプタ・ファクトリ・サービスへの参照です。
provider="csvgen" 組込みのHTTPパブリッシュ/サブスクライブ・アダプタのいずれかを使用する場合は、ハード・コード化された次の値を指定します。
JMSアダプタを使用する場合は、次のいずれかのハード・コード化された値を指定します。
|
|
いいえ |
|
このアダプタを実装するJavaクラスを指定します。
|
|
いいえ |
|
ライフサイクルの Oracle Stream Analyticsは、アダプタがイベントを受信したときに、このメソッドを呼び出します。 |
|
いいえ |
|
ライフサイクルの Oracle Stream Analyticsは、指定されたすべてのインスタンス・プロパティを設定した後で、このメソッドを呼び出します。このメソッドを使用すると、アダプタ・インスタンスは、すべてのBeanプロパティが設定済であるときにのみ可能になる初期化を実行し、構成が正しくない場合は例外をスローできます。 |
|
いいえ |
|
ライフサイクルの Oracle Stream Analyticsは、アダプタの動的構成の完了後に、このメソッドを呼び出します。このメソッドを使用すると、アダプタ・インスタンスは、すべての動的Beanプロパティが設定済であり、かつEPNが接続済であるときに限って可能な初期化を実行できます。 |
|
いいえ |
|
ライフサイクルの Oracle Stream Analyticsは、アプリケーションが一時停止されたときに、このメソッドを呼び出します。 |
|
いいえ |
|
ライフサイクルの Oracle Stream Analyticsは、アプリケーションが停止されたときに、このメソッドを呼び出します。 |
|
いいえ |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:adapter
要素の使用方法を示しています。この例では、アダプタの一意の識別子はhelloworldAdapter
です。プロバイダはOSGiサービスです。EPNアセンブリ・ファイルにも登録されており、参照はhellomsgs
です。アダプタにはmessage
という静的なプロパティがあります。これは、アダプタJavaファイルにsetMessage
メソッドがあることを示します。
<wlevs:adapter id="helloworldAdapter" provider="hellomsgs"> <wlevs:instance-property name="message" value="HelloWorld - the current time is:"/> </wlevs:adapter>
wlevs:channel
はアプリケーション・タイムスタンプであるかを指定するためにこの要素を使用します(アプリケーションはいずれかの時間ドメインで各イベントに対してタイムスタンプを割り当てます)。
それ以外の場合、wlevs:channel
はシステム・タイムスタンプになります(Oracle Stream Analyticsサーバーは、System.nanoTime
を使用して、各イベントにタイムスタンプを割り当てます)。
子要素
wlevs:application-timestamped
アプリケーション・アセンブリ要素は、次の子要素をサポートします。
wlevs:expression
: イベント処理のためにアプリケーション・タイムスタンプとして使用する式を指定します。
属性
表2-2 wlevs:application-timestampedアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
有効な値は |
|
いいえ |
|
有効な値は、 |
|
いいえ |
例
次の例は、暗黙的にアプリケーション・タイムスタンプのチャネルを指定するために、EPNアセンブリ・ファイルでwlevs:application-timestamped
要素を使用する方法について説明します。この例では、アプリケーションはイベント・タイムスタンプを内部的に処理します。
<wlevs:channel id="fxMarketAmerOut" > <wlevs:application-timestamped> </wlevs:application-timestamped> </wlevs:channel>
次の例は、明示的にアプリケーション・タイムスタンプのチャネルを指定するために、wlevs:expression
要素を指定することにより、EPNアセンブリ・ファイルでwlevs:application-timestamped
要素を使用する方法について説明します。この例では、wlevs:expression
要素は各イベントにタイムスタンプを割り当てるために使用する算術式を定義します。
<wlevs:channel id="fxMarketAmerOut" > <wlevs:application-timestamped> <wlevs:expression>mytime+10</wlevs:expression> </wlevs:application-timestamped> </wlevs:channel>
次の例では、is-silent-relation
を追加し、is-relation
属性をtrueに設定します。これらの設定は、チャネルで変更をあまり頻繁には発行しないことを意味します。
<wlevs:channel id="AppTimeStampedChannel"/> <wlevs:application-timestamped is-silent-relation="true" is-relation="true"> <wlevs:expression>mytime+10</wlevs:expression> </wlevs:application-timestamped>
この要素を使用して、Springアプリケーション・コンテキストに対してキャッシュを宣言します。
子要素
wlevs:cache
アプリケーション・アセンブリ要素は、次の子要素をサポートします。
wlevs:caching-system
: このキャッシュが属するキャッシング・システムを指定します。
注意:
この子要素は、キャッシング・システムを宣言するために使用するwlevs:caching-system
要素とは異なります。wlevs:cache
要素の子要素は、ref
という単一の属性を持ちます。この属性は、宣言されたキャッシング・システムのid
属性を参照します。
wlevs:cache-loader
: このキャッシュのキャッシュ・ローダーを指定します。
wlevs:cache-store
: このキャッシュのキャッシュ・ストアを指定します。
wlevs:cache-listener
: このキャッシュのリスナー、またはキャッシュのイベントの送信先コンポーネントを指定します。
属性
表2-3 wlevs:cacheアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
このコンポーネントの一意の識別子。 この識別子は、このキャッシュのXML構成ファイル内の |
|
はい |
|
このキャッシュの代替名を指定します。指定しない場合、キャッシュの名前は |
|
いいえ |
|
プロパティ名のカンマ区切りリストを指定します。これらのプロパティがまとまって、キャッシュ内のオブジェクトの一意キー値、またはキャッシュ・キーを形成します。キャッシュ・キーは単一のプロパティまたは複数のプロパティで構成されます。キャッシュをイベント処理ネットワーク内のリスナーとして構成すると、Oracle Stream Analyticsは、一意キー値をキーとして使用してキャッシュに到達するイベントを挿入します。
|
|
いいえ。 |
|
キーが複合キーである場合に、キャッシュのキーに使用するJavaクラスの名前を指定します。
|
|
いいえ。 |
|
キャッシュに含まれる値の型を指定します。イベント・タイプ・リポジトリの有効な型の名前である必要があります。 この属性は、Oracle CQL問合せでキャッシュが参照される場合に必要です。これは、問合せプロセッサはキャッシュ内のイベントのタイプを意識している必要があるからです。 |
|
いいえ。 |
|
このキャッシュが含まれているキャッシング・システムを指定します。 この属性の値は、適切な |
|
はい。 |
|
このサービスをOSGiレジストリに公開します。 有効な値は、 |
|
いいえ。 |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:cache
要素の使用方法を示しています。キャッシュの一意の識別子はcache-id
で、代替名はalternative-cache-name
です。キャッシュが属しているキャッシング・システムのid
はcaching-system-id
です。キャッシュにはリスナーがあり、キャッシュはそのリスナーにイベントを送信します。キャッシュにリスニングするコンポーネントのid
はtradeListener
です。
<wlevs:cache id="cache-id" name="alternative-cache-name">
<wlevs:caching-system ref="caching-system-id"/>
<wlevs:cache-listener ref="tradeListener" />
</wlevs:cache>
この要素を使用して、リスニング・コンポーネントに対するイベントのソースとしてキャッシュを指定します。リスニング・コンポーネントはcom.bea.cache.jcache.CacheListener
インタフェースを実装する必要があります。
この要素は常にwlevs:cache
の子です。
属性
表2-4 wlevs:cache-listenerアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
このキャッシュをリスニングするコンポーネントを指定します。 この属性は、リスニング・コンポーネントの |
|
いいえ。 |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:cache-listener
要素の使用方法を示しています。cache-listener-id
のSpring Beanはキャッシュからのイベントをリスニングし、このコンポーネントを実装するクラスwlevs.example.MyCacheListener
は、com.bea.jcache.CacheListener
インタフェースを実装する必要があります。wlevs.example.MyCacheListener
クラスは自分でプログラムする必要があります。
<wlevs:caching-system id="caching-system-id"/> ... <wlevs:cache id="cache-id" name="alternative-cache-name"> <wlevs:caching-system ref="caching-system-id"/> <wlevs:cache-listener ref="cache-listener-id" /> </wlevs:cache> ... <bean id="cache-listener-id" class="wlevs.example.MyCacheListener"/>
spring-wlevs-v12_1_3_0.xsdはデータをキャッシュにロードするオブジェクトを実装するSpring Beanを指定します。
この要素は常にwlevs:cache
の子です。
属性
表2-5 wlevs:cache-loaderアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
データをキャッシュにロードするクラスを実装するSpring Beanを指定します。 この属性は、Spring Beanの id 属性の値に設定します。 Spring Beanは |
|
はい。 |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:cache-loader
要素の使用方法を示しています。com.bea.cache.jcache.CacheLoader
インタフェースを実装するwlevs.example.MyCacheLoader
クラスによって実装されるcache-loader-id
Spring Beanは、データをキャッシュにロードするBeanです。キャッシュは、wlevs:cache-loader
子要素のref
属性で参照することによって、このローダーを指定します。
<wlevs:cache id="cache-id" name="alternative-cache-name"> <wlevs:caching-system ref="caching-system-id"/> <wlevs:cache-loader ref="cache-loader-id" /> </wlevs:cache> ... <bean id="cache-loader-id" class="wlevs.example.MyCacheLoader"/>
このプロセッサ・コンポーネントにデータを提供するキャッシュを指定します。プロセッサ・コンポーネントは、キャッシュを直接参照するOracle CQL問合せに関連付けられます。
wlevs:cache
要素のvalue-type
属性を使用して、キャッシュによって提供されるデータのイベント・タイプを宣言します。
この要素は、wlevs:processor
要素のみの子です。
属性
表2-6 wlevs:cache-sourceアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
プロセッサ・コンポーネントのデータのソースであるキャッシュを指定します。 この属性は、キャッシュの |
|
はい。 |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:cache-source
要素の使用方法を示しています。この例では、プロセッサは従来とおりにstream-id
から押し出されるデータを持ちます。ただし、プロセッサで実行するOracle CQL問合せは、cache-id
キャッシュからデータを抽出することもできます。問合せプロセッサがFROM句のイベント・タイプとキャッシュによって提供されたイベント・タイプ(Company
など)を照合するとき、プロセッサはそのイベント・タイプのインスタンスをキャッシュからプルします。
<wlevs:caching-system id="caching-system-id"/> ... <wlevs:cache id="cache-id" name="alternative-cache-name" value-type="Company"> <wlevs:caching-system ref="caching-system-id"/> </wlevs:cache> <wlevs:channel id="stream-id"/> <wlevs:processor id="processor-id"> <wlevs:cache-source ref="cache-id"> <wlevs:source ref="stream-id"> </wlevs:processor>
アプリケーションで使用するキャッシング・システムを指定します。
子要素
wlevs:caching-system
アプリケーション・アセンブリ要素は、次の子要素をサポートします。
属性
表2-7 wlevs:caching-systemアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
このキャッシング・システムの一意の識別子を指定します。 この識別子は、このキャッシング・システムのXML構成ファイル内の |
|
はい。 |
|
このサービスをOSGiレジストリに公開します。 有効な値は、 |
|
いいえ。 |
|
Oracle Coherenceなどのサード・パーティの実装を使用する場合は、キャッシング・システムのプロバイダを指定します。 <wlevs:caching-system id="myCachingSystem" provider=coherence" /> 通常、この属性は、サード・パーティ・キャッシング・システムのインスタンスを作成するファクトリ・クラスを指定する
|
|
いいえ。 |
|
このキャッシング・システムを実装するJavaクラスを指定します。この属性を使用して、Oracle Stream Analyticsのネイティブ実装ではないサード・パーティの実装を指定します。 この属性を指定した場合、サード・パーティの実装コードは、Oracle Stream Analyticsアプリケーション・バンドル自体の内部に存在すると見なされます。この属性が参照するクラス・ファイルは、
|
|
いいえ |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:caching-system
要素の最も簡単な使用方法を示しています。
<wlevs:caching-system id="caching-system-id"/>
次の例は、ファクトリをプロバイダとして使用するサード・パーティの実装を指定する方法を示しています。この例では、the.factory.class.name
は、サード・パーティ・キャッシング・システムを作成するためのファクトリです。wlevs:caching-system
のプロバイダ属性は、アプリケーションのキャッシング・システムの実装としてこのファクトリを参照します。
<wlevs:caching-system id ="caching-system-id" provider="caching-provider"/> <factory id="factory-id" provider-name="caching-provider"> <class>the.factory.class.name</class> </factory>
キャッシュからバッキング・ストア(データベース内の表など)へのデータの書込みを処理するカスタム・ストアを実装するSpring Beanを指定します。
この要素は常にwlevs:cache
の子です。
属性
表2-8 wlevs:cache-storeアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
カスタム・ストアを実装するSpring Beanを指定します。 この属性は、Spring Beanの Spring Beanは |
|
はい。 |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:cache-store
要素の使用方法を示しています。この例では、com.bea.cache.jcache.CacheStore
インタフェースを実装するwlevs.example.MyCacheStore
クラスによって実装されるcache-store-id
Spring Beanは、データベースなどのようなカスタム・ストアのBeanです。キャッシュは、wlevs:cache-store
子要素のref
属性で参照することによって、このストアを指定します。
<wlevs:cache id="cache-id" name="alternative-cache-name"> <wlevs:caching-system ref="caching-system-id"/> <wlevs:cache-store ref="cache-store-id" /> </wlevs:cache> ... <bean id="cache-store-id" class="wlevs.example.MyCacheStore"/>
この要素を使用して、Springアプリケーション・コンテキストに対してチャネルを宣言します。
デフォルトでは、チャネルはイベントがシステム・タイムスタンプであることを想定します。アプリケーション・タイムスタンプのイベントを構成するには、wlevs:application-timestamped
子要素を参照してください。
子要素
wlevs:channel
アプリケーション・アセンブリ要素は、次の子要素をサポートします。
属性
表2-9 wlevs:channelアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
このサービスをOSGiレジストリに公開します。 有効な値は、 |
|
いいえ。 |
|
イベントのバッチをイベント・チャネルで有効にするかどうかを指定します。 有効な値は、 |
|
いいえ。 |
|
イベント・チャネルを通過できるイベントのタイプを指定します。 |
|
はい。 |
|
このコンポーネントの一意の識別子。 この識別子は、このチャネルのXML構成ファイル内の |
|
はい。 |
|
イベント・チャネルをパススルーできるイベントの種類を指定します。streamsおよびrelationsの2種類のイベントがサポートされています。streamsは、追加専用です。Relationsは、挿入、削除および更新処理をサポートします。 この属性のデフォルト値は |
|
いいえ。 |
|
このコンポーネントをリスニングするコンポーネントを指定します。複数のコンポーネントはカンマを使用して区切ります。 この属性は、リスニング・コンポーネントを定義する要素( |
|
いいえ。 |
|
このチャネルのFIFOバッファの最大サイズは、
この属性のデフォルト値は |
|
いいえ。 |
|
このチャネルのイベントを処理するために使用されるスレッドの最大数を指定します。
この属性のデフォルト値は1です。 |
|
いいえ。 |
|
リレーションの主キーを「 |
|
いいえ。 |
|
ストリーム・プロバイダを指定します。 有効な値は、次のとおりです。
デフォルト値は、すぐに使用できるように用意されているストリーミング・プロバイダである |
|
いいえ。 |
|
チャネルのイベント・ソースとなるコンポーネントを指定します。 この属性は、ソース・コンポーネントを定義する要素( |
|
いいえ。 |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:channel
要素の使用方法を示しています。この例は、fxMarketAmerOut
という一意の識別子を持つチャネル・サービスを宣言する方法を示しています。
<wlevs:channel id="fxMarketAmerOut" />
この要素を使用して、イベント・タイプ実装として使用するJavaBeanクラスの完全修飾名を指定します。この要素は、wlevs:event-type
要素の子である必要があります。
次の例は、EPNアセンブリ・ファイルでのwlevs:class
要素の使用方法を示しています。
<wlevs:event-type-repository> <wlevs:event-type type-name="SimpleEvent"> <wlevs:class>com.example.myapp.MyEventType</wlevs:class> </wlevs:event-type> ... </wlevs:event-type-repository>
この要素を使用して、イベントBeanがイベント処理ネットワーク(EPN)の一部であることをSpringアプリケーション・コンテキストに対して宣言します。イベントBeanは、Oracle Stream Analyticsコンテナで管理されます。これは、Spring BeanがSpringフレームワークで管理されることに似ています。多くの点で、イベントBeanとSpring Beanは類似しており、EPNでどちらを使用するかは開発者の判断に任されています。Springへのレガシー統合にはSpring Beanを使用します。イベントBeanは、Oracle Stream Analyticsの追加機能をフル活用する場合に使用します。
たとえば、Oracle Stream Analyticsモニタリング・フレームワークを使用するとイベントBeanをモニターできます。また、構成フレームワーク・メタデータの注釈を利用したり、イベントBeanで渡されるイベントの記録や再生もできます。また、イベントBeanは、Oracle Stream Analytics APIインタフェースを実装するのではなく、EPNアセンブリ・ファイル宣言でメソッドを指定することで、Oracle Stream AnalyticsのBeanライフ・サイクルに加えることもできます。
子要素
wlevs:event-bean
アプリケーション・アセンブリ要素は、次の子要素をサポートします。
属性
表2-10 wlevs:event-beanアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
このコンポーネントの一意の識別子。 この識別子は、このイベントBeanのXML構成ファイル内の |
|
はい。 |
|
このサービスをOSGiレジストリに公開します。 有効な値は、 |
|
いいえ。 |
|
このコンポーネントをリスニングするコンポーネントを指定します。 この属性は、コンポーネントを宣言した要素の |
|
いいえ。 |
|
このイベントBeanを実装するJavaクラスを指定します。どのようなOracle Stream Analyticsインタフェースを実装する場合にもBeanは必須ではありません。
|
||
|
サービス・プロバイダを指定します。 この場合、この特定のプロバイダ名で登録されたEDEファクトリがアプリケーション内に存在する必要があります。
|
|
いいえ。 |
|
ライフサイクルの Oracle Stream Analyticsは、イベントBeanがイベントを受け取ったときに、このメソッドを呼び出します。 このライフ・サイクル属性を使用すると、イベントBeanの実装でOracle Stream Analyticsインタフェースを明示的に実装する必要はなくなります。 |
|
いいえ |
|
ライフサイクルの Oracle Stream Analyticsは、指定されたすべてのインスタンス・プロパティを設定した後で、このメソッドを呼び出します。このメソッドを使用すると、Beanインスタンスは、すべてのBeanプロパティが設定済であるときに限って可能な初期化を実行し、構成が正しくない場合は例外をスローできます。 このライフ・サイクル属性を使用すると、イベントBeanの実装でOracle Stream Analyticsインタフェースを明示的に実装する必要はなくなります。 |
|
いいえ |
|
ライフサイクルの Oracle Stream Analyticsは、Beanの動的構成の完了後に、このメソッドを呼び出します。このメソッドを使用すると、Beanインスタンスは、すべての動的Beanプロパティが設定済であり、かつEPNが接続済であるときに限って可能な初期化を実行できます。 このライフ・サイクル属性を使用すると、イベントBeanの実装でOracle Stream Analyticsインタフェースを明示的に実装する必要はなくなります。 |
|
いいえ |
|
ライフサイクルの Oracle Stream Analyticsは、アプリケーションが一時停止されたときに、このメソッドを呼び出します。 このライフ・サイクル属性を使用すると、イベントBeanの実装でOracle Stream Analyticsインタフェースを明示的に実装する必要はなくなります。 |
|
いいえ |
|
ライフサイクルの Oracle Stream Analyticsは、アプリケーションが停止されたときに、このメソッドを呼び出します。 このライフ・サイクル属性を使用すると、イベントBeanの実装でOracle Stream Analyticsインタフェースを明示的に実装する必要はなくなります。 |
|
いいえ |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:event-bean
要素の使用方法を示しています。この例では、myBean
というイベントBeanがクラスcom.customer.SomeEventBean
を使用して実装されています。myProcessor
というコンポーネントがmyBean
イベントBeanからイベントを受け取ります。
<wlevs:event-bean id="myBean" class="com.customer.SomeEventBean" > <wlevs:listener ref="myProcessor" /> </wlevs:event-bean>
Oracle Stream Analyticsアプリケーションで使用するイベント・タイプの定義を指定します。アプリケーションのイベント・タイプを定義したら、定義したイベント・タイプをアダプタ・クラスおよびビジネス・クラスのPOJO内で、またOracle CQLルールで参照できます。
次の方法でイベント・タイプを定義できます。
イベント・タイプを表現するJavaBeanクラスを作成し、その完全修飾したクラス名を、wlevs:class
子要素を使用して指定します。
wlevs:properties
子要素を使用して、イベント・タイプのプロパティを宣言的に指定します。
wlevs:event-type
の子としてwlevs:class
またはwlevs:properties
のどちらかを指定できますが、両方を同時に指定することはできません。
ベスト・プラクティスは、wlevs:class
子要素を使用してイベント・タイプを定義することです。そうすることで、指定したJavaBeanクラスを再利用でき、イベント・タイプの形を正確に制御できます。
子要素
wlevs:event-type
アプリケーション・アセンブリ要素は、次の子要素をサポートします。
属性
表2-11 wlevs:event-typeアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
このイベント・タイプの一意の識別子を指定します。 この属性を指定しない場合は、Oracle Stream Analyticsによって自動的に識別子が生成されます。 |
|
いいえ。 |
|
このイベント・タイプの名前を指定します。 これは、アダプタ、ビジネスPOJO、またはOracle CQLルール内でイベント・タイプを参照するときに使用する名前です。 |
|
はい。 |
|
Javaオブジェクトを完全にサポートするかどうかを指定します。設定できる値は
|
String |
いいえ。 |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:event-type
要素の使用方法を示しています。この例では、イベント・タイプの名前はSimpleEvent
で、その定義はwlevs:property
によって決定されます。type属性の値はcom.bea.wlevs.ede.api.Type
クラスに適合する必要があります。
<wlevs:event-type-repository> <wlevs:event-type id="messagecounts" type-name="SimpleEvent"> <wlevs:properties> <wlevs:property name="msg" type="char" /> <wlevs:property name="count" type="long" /> <wlevs:property name="time_stamp" type="timestamp" /> </wlevs:properties> </wlevs:event-type> ... </wlevs:event-type-repository>
この要素を使用して、複数のwlevs:event-type
要素をまとめてグループ化します。各要素は、アプリケーション全体で使用するイベント・タイプを登録するために使用されます。
子要素
wlevs:event-type-repository
アプリケーション・アセンブリ要素は、wlevs:event-type子要素をサポートします。
例
次の例は、EPNアセンブリ・ファイルでのwlevs:event-type-repository
要素の使用方法を示しています。
この例では、wlevs:event-type-repository
要素で単独のwlevs:event-type
要素をグループ化し、HelloWorldEvent
という1つのイベント・タイプを宣言しています。詳細は、「wlevs:event-type
」を参照してください。
<wlevs:event-type-repository> <wlevs:event-type type-name="HelloWorldEvent"> <wlevs:class> com.bea.wlevs.event.example.helloworld.HelloWorldEvent </wlevs:class> </wlevs:event-type> </wlevs:event-type-repository>
イベント処理のアプリケーション・タイムスタンプとして使用するwlevs:application-timestamped
に算術式を指定するためにこの要素を使用します。詳細は、『Oracle CQL言語リファレンス』のApplication-Timestampedストリームに関する項を参照してください。
例
次の例は、明示的にアプリケーション・タイムスタンプのチャネルを指定するために、EPNアセンブリ・ファイルでのwlevs:expression
要素を使用する方法について説明します。この例では、wlevs:expression
要素は各イベントにタイムスタンプを割り当てるために使用する算術式を定義します。
<wlevs:channel id="fxMarketAmerOut" >
<wlevs:application-timestamped>
<wlevs:expression>mytime + 10</wlevs:expression>
</wlevs:application-timestamped>
</wlevs:channel>
この要素を使用して、ファクトリ・クラスをサービスとして登録します。この要素を使用することによりアプリケーションのSpring-OSGiインタフェースへの依存を軽減します。このファクトリのJavaソースでcom.bea.wlevs.ede.api.Factory
インタフェースを実装する必要があります。
ファクトリ要素ではサービスのプロパティを指定できません。サービスのプロパティを指定する必要がある場合は、かわりにSpring- OSGi osgi:service
要素を使用する必要があります。
属性
表2-12 wlevs:factoryアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
ファクトリを実装するJavaクラスを指定します。このクラスは、 |
|
はい。 |
|
このプロバイダの名前を指定します。後で、このファクトリを使用するコンポーネント内でこの名前を参照します。 |
|
はい。 |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:factory
要素の使用方法を示しています。この例では、com.customer.MyEventSourceFactory
によって実装されたファクトリは、myEventSourceFactory
というプロバイダ名になっています。
<wlevs:factory provider-name="myEventSourceFactory" class="com.customer.MyEventSourceFactory" />
この要素を使用して、プロセッサ用のユーザー定義の関数を含むBeanを指定します。『Oracle CQL言語リファレンス』の単一行関数に関する項および集計関数に関する項を参照してください。
この要素は常に、ユーザー定義の関数を実装するSpringbean
を指定する参照または子としてSpringの標準bean
要素を持ちます。
Oracle CQLプロセッサ上の単一行関数については、exec-method
属性を使用して、実装クラスに1つのメソッドを関数として指定します。この場合は、メソッドはパブリックであり、名前によって一意に識別できる必要があります。このメソッドはオーバーライドできません。function-name
属性を使用して、exec-method
名の別名を指定できます。Oracle CQL問合せでは、exec-method
(名前またはfunction-name
別名による)のみをコールします。
Oracle CQLプロセッサ上の集計関数については、Spring bean
はcom.bea.wlevs.processor
パッケージからの次のインタフェースを実装する必要があります。
AggregationFunctionFactory
AggregationFunction
集計関数については、Oracle CQLプロセッサに対してexec-method
属性は適用できません。
属性
表2-13 wlevs:functionアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
Oracle CQLプロセッサ上のユーザー定義の「単一行」関数について、この要素は、関数を実装するSpring Oracle CQLプロセッサ上のユーザー定義集計関数については、この属性は適用できません。 |
String |
いいえ。 |
|
Oracle CQLプロセッサ上のユーザー定義の単一行関数については、この属性を使用して Oracle CQLプロセッサ上のユーザー定義の集計関数については、この属性を使用して実装のSpring デフォルト値はSpring Bean名です。 |
|
いいえ。 |
|
関数を実装するSpring この属性は、Spring Spring |
|
いいえ。 |
例
次の例は、Oracle CQLプロセッサでのwlevs:function
要素およびその属性の使用方法を示しています。
例2-1 Oracle CQLプロセッサ用の単一行、ユーザー定義関数の実装
package com.bea.wlevs.example.function; public class MyMod { public Object execute(int arg0, int arg1) { return new Integer(arg0 % arg1); } }
例2-2 Oracle CQLプロセッサの単一行関数のアセンブリ・ファイルでの定義
<wlevs:processor id="testProcessor"> <wlevs:listener ref="providerCache"/> <wlevs:listener ref="outputCache"/> <wlevs:cache-source ref="testCache"/> <wlevs:function function-name="mymod" exec-method="execute" /> <bean class="com.bea.wlevs.example.function.MyMod"/> </wlevs:function> </wlevs:processor>
例2-3 Oracle CQL問合せでの関数の呼出し
... <view id="v1" schema="c1 c2 c3 c4"><![CDATA[ select mymod(c1, 100), c2, c3, c4 from S1 ></view> ... <query id="q1"><![CDATA[ select * from v1 [partition by c1 rows 1] where c4 - c3 = 2.3 ></query> ...
例2-4 Oracle CQLプロセッサ用のユーザー定義集計関数の実装
package com.bea.wlevs.test.functions; import com.bea.wlevs.processor.AggregationFunction; import com.bea.wlevs.processor.AggregationFunctionFactory; public class Variance implements AggregationFunctionFactory, AggregationFunction { private int count; private float sum; private float sumSquare; public Class<?>[] getArgumentTypes() { return new Class<?>[] {Integer.class}; } public Class<?> getReturnType() { return Float.class; } public AggregationFunction newAggregationFunction() { return new Variance(); } public void releaseAggregationFunction(AggregationFunction function) { } public Object handleMinus(Object[] params) { if (params != null && params.length == 1) { Integer param = (Integer) params[0]; count--; sum -= param; sumSquare -= (param * param); } if (count == 0) { return null; } else { return getVariance(); } } public Object handlePlus(Object[] params) { if (params != null && params.length == 1) { Integer param = (Integer) params[0]; count++; sum += param; sumSquare += (param * param); } if (count == 0) { return null; } else { return getVariance(); } } public Float getVariance() { float avg = sum / (float) count; float avgSqr = avg * avg; float var = sumSquare / (float)count - avgSqr; return var; } public void initialize() { count = 0; sum = 0.0F; sumSquare = 0.0F; } }
例2-5 Oracle CQLプロセッサの集計関数のアセンブリ・ファイルでの呼出し
<wlevs:processor id="testProcessor"> <wlevs:listener ref="providerCache"/> <wlevs:listener ref="outputCache"/> <wlevs:cache-source ref="testCache"/> <wlevs:function function-name="var"> <bean class="com.bea.wlevs.test.functions.Variance"/> </wlevs:function> </wlevs:processor>
例2-6 Oracle CQL問合せでの集計関数の呼出し
... <query id="uda6"><![CDATA[ select var(c2) from S4[range 3] ></query> ...
例2-7 アセンブリ・ファイルでのBean要素のネスト
<wlevs:processor id="testProcessor"> <wlevs:listener ref="providerCache"/> <wlevs:listener ref="outputCache"/> <wlevs:cache-source ref="testCache"/> <wlevs:function function-name="testfunction"> <bean class="com.bea.wlevs.example.cache.function.TestFunction"/> </wlevs:function> </wlevs:processor>
例2-8 関数の外部で定義されたBean要素のアセンブリ・ファイルでの参照
<wlevs:processor id="testProcessor"> <wlevs:listener ref="providerCache"/> <wlevs:listener ref="outputCache"/> <wlevs:cache-source ref="testCache"/> <wlevs:function function-name="testfunction" ref="testFunctionID" /> </wlevs:processor> ... <bean id="testFunctionID" class="com.bea.wlevs.example.cache.function.TestFunction"/>
この要素は子要素であるコンポーネントのcreateステージ・インスタンスに適用するプロパティを指定します。これにより、ユーザー定義のステージ・プロパティの宣言的な構成が可能になります。
たとえば、wlevs:event-bean
にwlevs:instance-property
を指定すると、Oracle Stream Analyticsは、クラスをインスタンス化するcom.bea.wlevs.spring.EventBeanFactoryBean
ではなく、実装するJavaクラスの対応するsetterメソッドを検索します。ファクトリのプロパティを指定するには、wlevs:property
を使用します。
この要素は、wlevs:adapter
、wlevs:event-bean
、wlevs:processor
、wlevs:channel
またはwlevs:caching-system
の子としてのみ使用されます。
wlevs:instance-property
要素は、Spring propertyType
型で定義されます。Springデータ型の詳細は、http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
を参照してください。
子要素
次のいずれかのSpring標準要素をwlevs:instance-property
要素の子要素として指定できます。
meta
bean
ref
idref
value
null
list
set
map
props
属性
表2-14 wlevs:instance-propertyアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
JavaBeanのネーミング・ルールに従ってプロパティの名前を指定します。 |
|
はい。 |
|
ネストされた |
|
いいえ。 |
|
ネストされた |
|
いいえ。 |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:instance-property
要素の使用方法を示しています。
<wlevs:event-bean id="pubsubCounterBeanRemote"
class="com.oracle.cep.example.httppubsub.RemoteEventCounter">
<wlevs:listener ref="pubsubRemote" />
<wlevs:instance-property name="expectedEvents" value="4000" />
</wlevs:event-bean>
この例では、イベントBean com.oracle.cep.example.httppubsub.RemoteEventCounter
クラスから該当するsetterメソッドが提供されます。
private int expectedEvents; public void setExpectedEvents(String expectedEvents) { this.expectedEvents = new Integer(expectedEvents).intValue(); }
instance-property
はString
タイプです。これは必要に応じてsetterメソッドで変換します。この例では、String
はint
値に変換されます。
setterメソッドの名前はJavaBeanネーミング・ルールに準拠している必要があります。この例では、setter名はsetExpectedEvents
であり、これはJavaBeanのルールにより、wlevs:instance-property
要素のname
属性値expectedEvents
に対応しています。name
属性の値がobj
のときに、setterメソッドの名前がsetObject
になっていると、Oracle Stream Analyticsから「無効なプロパティ」例外がスローされます。その場合、setter名はsetObj
になります。
この要素を子とするコンポーネントにリスニングするコンポーネントを指定します。他の任意のコンポーネントのインスタンスをリスナーにできます。また、特定のwlevs:listener
コンポーネント内にコンポーネントの定義をネストして、親にリスニングするコンポーネントを指定できます。
警告:
ネストされた定義は、動的構成または動的モニターには使用できません。
この要素は、常にwlevs:adapter
、wlevs:processor
、wlevs:channel
またはwlevs:caching-system
の子です。
属性
表2-15 wlevs:listener
アプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
親コンポーネントをリスニングするコンポーネントを指定します。 この属性は、リスナー・コンポーネントの リスナーをネストする場合は、この属性を指定しないでください。 |
|
いいえ。 |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:listener
要素の使用方法を示しています。この例では、hellworldOutstream
コンポーネントはhelloworldProcessor
コンポーネントにリスニングします。このEPNアセンブリ・ファイルには、一意の識別子がhelloworldOutstream
であるwlevs:adapter
、wlevs:channel
またはwlevs:processor
要素の宣言も含まれていると想定しています。
<wlevs:processor id="helloworldProcessor">
<wlevs:listener ref="helloworldOutstream"/>
</wlevs:processor>
フィールドをSpring entry
要素のグループとしてリストし、イベント・タイプの定義を指定します。この方法でイベント・タイプを定義すると、Oracle Stream Analyticsが自動的にJavaクラスを作成します。
entry
要素のkey
属性を使用してフィールドの名前を指定し、value
属性を使用して、フィールドのデータ型を表現するJavaクラスを指定します。
この要素はwlevs:event-type
要素の子としてのみ使用されます。
wlevs:metadata
要素は、Spring mapType
型として定義されます。このSpringデータ型の詳細は、http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
を参照してください。
子要素
wlevs:metadata
要素は、1つ以上の標準Spring entry
子要素を含むことができます。詳細は、http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
を参照してください。
属性
表2-16 wlevs:metadataアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
ネストされた この属性は、 |
|
いいえ。 |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:metadata
要素の使用方法を示しています。この例では、wlevs:metadata
要素は4つの標準Springentry
要素をグループ化しています。これらの4つの要素は、ForeignExchangeEvent
の4つのフィールド、つまりsymbol
、price
、fromRate
およびtoRate
を表現します。これらのフィールドのデータ型は、それぞれ、java.lang.String
、java.lang.Double
、java.lang.String
およびjava.lang.String
です。
<wlevs:event-type type-name="ForeignExchangeEvent"> <wlevs:metadata> <entry key="symbol" value="java.lang.String"/> <entry key="price" value="java.lang.Double"/> <entry key="fromRate" value="java.lang.String"/> <entry key="toRate" value="java.lang.String"/> </wlevs:metadata> ... </wlevs:event-type>
この要素を使用して、Springアプリケーション・コンテキストに対してプロセッサを宣言します。
子要素
wlevs:processor
Spring要素は、次の子要素をサポートします。
属性
表2-17 wlevs:processorアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
このコンポーネントの一意の識別子。 この識別子は、このプロセッサ用のXML構成ファイル内の |
|
はい。 |
|
このサービスをOSGiレジストリに公開します。 有効な値は、 |
|
いいえ。 |
|
このコンポーネントをリスニングするコンポーネントを指定します。 この属性は、コンポーネントを宣言した要素の |
|
いいえ。 |
|
Oracle CQLなど、プロセッサの言語プロバイダを指定します。 有効な値はcqlです。 デフォルト値は |
|
いいえ。 |
|
このプロセッサのOracle CQLルール定義ファイルを示すURLを指定します。 |
|
いいえ。 |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:processor
要素の使用方法を示しています。この例は、spreader
というIDを持つプロセッサを宣言する方法を示しています。つまり、このプロセッサのOracle CQLルールを含むプロセッサ構成ファイル内で、name
要素に値spreader
が含まれている必要があります。そうすることで、この特定のプロセッサに対してどのOracle CQLルールを登録する必要があるかを、Oracle Stream Analyticsに指定します。
<wlevs:processor id="spreader" />
イベント・タイプのプロパティのリストを定義します。この要素は、タプルまたはjava.util.Map
に基づくタイプなどのイベント・タイプを宣言的に定義するときに使用します。JavaBeanクラスから作成されたイベント・タイプの場合、クラスでアクセッサ・メソッドによってプロパティを定義できます。
子要素
wlevs:properties
アプリケーション・アセンブリ要素は、wlevs:property子要素をサポートしています。
属性
表2-18 wlevs:propertiesアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
このイベント・タイプの作成元のタイプを指定します。使用できる値はタプルとマップで、デフォルト値はタプルです。 この属性の値が |
|
いいえ。 |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:properties
要素の使用方法を示しています。この例では、イベント・タイプの名前はSimpleEvent
で、その定義はwlevs:property
によって決定されます。type属性の値はcom.bea.wlevs.ede.api.Type
クラスに適合する必要があります。
<wlevs:event-type-repository> <wlevs:event-type type-name="SimpleEvent"> <wlevs:properties> <wlevs:property name="msg" type="char" /> <wlevs:property name="count" type="long" /> <wlevs:property name="time_stamp" type="timestamp" /> </wlevs:properties> </wlevs:event-type> ... </wlevs:event-type-repository>
タプルまたはjava.util.Map
に基づくイベント・タイプなど、宣言的に作成するイベント・タイプのプロパティを定義します。このwlevs:property
要素は、wlevs:properties
要素の子として使用します。
この要素は、Spring beanプロパティ要素の拡張であるwlevs:property
要素とは異なることに注意してください。この要素は常にwlevs:properties
要素の子として使用する必要があります。
属性
表2-19 wlevs:propertyアプリケーション・アセンブリ要素の属性
|
例
次の例は、EPNアセンブリ・ファイルでのwlevs:property
要素の使用方法を示しています。この例では、イベント・タイプの名前はSimpleEvent
で、その定義はwlevs:property
によって決定されます。type属性の値はcom.bea.wlevs.ede.api.Type
クラスに適合する必要があります。
<wlevs:event-type-repository> <wlevs:event-type type-name="SimpleEvent"> <wlevs:properties> <wlevs:property name="msg" type="char" /> <wlevs:property name="count" type="long" /> <wlevs:property name="time_stamp" type="timestamp" /> </wlevs:properties> </wlevs:event-type> ... </wlevs:event-type-repository>
イベント・タイプに適用するカスタム・プロパティを指定します。
たとえば、wlevs:event-bean
にwlevs:property
を指定すると、Oracle Stream Analyticsは、実装するJavaクラスではなく、Javaクラスをインスタンス化するcom.bea.wlevs.spring.EventBeanFactoryBean
の対応するsetterメソッドを検索します。Javaクラスのプロパティを指定するには、wlevs:instance-property
を使用します。
この要素は、wlevs:adapter
、wlevs:event-bean
、wlevs:event-type
、wlevs:processor
、wlevs:channel
またはwlevs:caching-system
の子としてのみ使用されます。
wlevs:property
要素は、Spring propertyType
型で定義されます。Springデータ型の詳細は、http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
を参照してください。
子要素
次のいずれかのSpring標準要素をwlevs:property
要素の子要素として指定できます。
meta
bean
ref
idref
value
null
list
set
map
props
属性
表2-20 wlevs:propertyアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
JavaBeanのネーミング・ルールに従ってプロパティの名前を指定します。 |
|
はい。 |
|
ネストされた |
|
いいえ。 |
|
ネストされた |
|
いいえ。 |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:property
要素の使用方法を示しています。この例では、wlevs:property
要素を使用して、ForeignExchangeEvent
のカスタム・プロパティbuilderFactory
を定義しています。このプロパティでは、Spring標準のbean
要素を使用して、ForeignExchangeEvents
を作成するためのファクトリとして使用されるSpring Beanを指定します。
<wlevs:event-type type-name="ForeignExchangeEvent"> <wlevs:metadata> <entry key="symbol" value="java.lang.String"/> <entry key="price" value="java.lang.Double"/> </wlevs:metadata> <wlevs:property name="builderFactory"> <bean id="builderFactory" class="com.bea.wlevs.example.fx.ForeignExchangeBuilderFactory"/> </wlevs:property> </wlevs:event-type>
このコンポーネントのイベント・ソースを指定します。イベント・ソースは、イベントが送られてくる元のコンポーネントです。イベント・ソースを指定することは、このコンポーネントを別のコンポーネントのイベント・リスナーとして指定するのと同等です。
また、特定のwlevs:source
コンポーネント内にコンポーネントの定義をネストして、コンポーネント・ソースを指定できます。この要素は、wlevs:channel
またはwlevs:processor
の子です。
注意:
ネストされた定義は、動的構成または動的モニターには使用できません。
属性
表2-21 wlevs:sourceアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
この要素が子であるチャネルのソースを指定します。 この属性は、ソース・コンポーネントの この属性は、ソースをネストする場合には指定しません。 |
|
いいえ。 |
例
次の例は、EPNアセンブリ・ファイルでのwlevs:source
要素の使用方法を示しています。この例では、id
がhelloworldAdapter
であるコンポーネントが、helloworldInstream
というチャネル・コンポーネントのソースです。
<wlevs:channel id="helloworldInstream">
<wlevs:listener ref="helloworldProcessor"/>
<wlevs:source ref="helloworldAdapter"/>
</wlevs:channel>
イベント・シンクまたはイベント・ソースとして機能できるリレーショナル・データベース表を指定します。
1つ以上のプロセッサ・コンポーネントにイベント・データを提供するリレーショナル・データベース表。プロセッサ・コンポーネントを、表ソースを直接参照するOracle CQL問合せに関連付けます。
属性
表2-22 wlevs:tableアプリケーション・アセンブリ要素の属性
|
例
次の例は、EPNアセンブリ・ファイルでのwlevs:table
要素の使用方法を示しています。この例では、wlevs:processor
はwlevs:table-source
要素を使用して表を参照しています。
<wlevs:table id="Stock" event-type="StockEvent" data-source="StockDs" /> <wlevs:processor id="proc"> <wlevs:table-source ref="Stock" /> </wlevs:processor>
Oracle CQLプロセッサでEPNに入るイベント・データを受信し、そのデータを永続データ・ストアに格納する際の表タグであるリレーショナル・データベース表コンポーネントです。この機能は、リレーショナル・データベース表の構造を制御できるため、記録機能より柔軟です。逆に記録機能では、記録と再生の機能で最適に動作する形式でイベントを格納します。
イベントは、永続データ・ストアとして格納されると、EPNで次のステージに送られます。永続データベース表を作成する際には、列名がイベント・タイプのプロパティ名と同じになるようにしてください。
属性
表2-23 wlevs:tableアプリケーション・アセンブリ要素の属性
|
例
次の例は、HelloWorldの例で表シンクとして追加された最終ステージです。表シンクは、HelloWorldEvent
タイプのイベントをhelloDataSource
という名前のデータ・ソースに格納します。
<wlevs:channel id="helloworldOutputChannel" event-type="HelloWorldEvent" advertise="true"> <wlevs:listener ref="tableSink"/> <wlevs:source ref="helloworldProcessor"/> </wlevs:channel> <wlevs:table id="tableSink" event-type="HelloWorldEvent" key-properties="message" data-source="helloDataSource" table-name="HelloMessages"/>
このプロセッサ・コンポーネントにデータを提供するリレーショナル・データベース表を指定します。プロセッサ・コンポーネントは、表を直接参照するOracle CQL問合せに関連付けられます。この要素は、wlevs:processor
要素のみの子です。
属性
表2-24 wlevs:table-sourceアプリケーション・アセンブリ要素の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
プロセッサ・コンポーネントのデータのソースであるリレーショナル・データベース表を指定します。 |
|
はい。 |
例
次の例は、アセンブリ・ファイルでのwlevs:table-source
要素の使用方法を示しています。
<wlevs:table id="Stock" event-type="StockEvent" data-source="StockDs" /> <wlevs:processor id="proc"> <wlevs:table-source ref="Stock" /> </wlevs:processor>