ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Data Integrator接続およびナレッジ・モジュール・ガイド
11gリリース1(11.1.1)
B62261-01
  ドキュメント・ライブラリへ
ライブラリ
製品リストへ
製品
目次へ
目次

戻る
戻る
 
次へ
次へ
 

22 JMS

この章では、Oracle Data IntegratorでのJava Message Services(JMS)の使用方法について説明します。

この章の内容は次のとおりです。

22.1 概要

Oracle Data Integratorには、JMS宛先を統合するための、単純で透過的な方法が用意されています。この章では、テキスト・ペイロードを使用するJMSメッセージのバッチ・モードでの処理について説明します。XMLペイロードの処理の説明は、第23章「JMS XML」を参照してください。

22.1.1 概念

JMSナレッジ・モジュールは、最も一般的なJMS準拠のミドルウェア(Oracle Service Bus、Sonic MQ、IBM Websphere MQなど)に適用されます。これらのほとんどのナレッジ・モジュールには、メッセージを確実に配信するためのトランザクション処理が含まれます。

22.1.1.1 JMSメッセージの構造

この項では、JMS宛先のメッセージの構造を説明します。

JMSメッセージは次の3つのセクションで構成されます。

ヘッダー

ヘッダーのヘッダー・フィールドには、メッセージ関連の標準メタデータが含まれます。標準メタデータには、宛先(JMSDestination)メッセージID(JMSMessageID)メッセージ・タイプ(JMSType)などがあります。

プロパティ

プロパティ・セクションには、メッセージ関連の追加のメタデータが含まれます。これらのメタデータはプロパティであり、次の3つのグループに分けられます。

  • オプションのJMSヘッダーであるJMS定義のプロパティ。名前の先頭にJMSXが付きます(JMSXUserID、JMSXAppIDなど)。

  • プロバイダ固有のプロパティ。ルーター・ベンダー固有のプロパティです。名前の先頭にJMS_<vendor name>が付きます。

  • アプリケーション固有のプロパティ。これらのプロパティは、メッセージを送信するアプリケーションに依存します。メッセージ・ペイロードに含まれないユーザー定義の情報です。

ヘッダー・セクションおよびプロパティ・セクションでは、次のような一連のヘッダー・フィールドおよびプロパティが提供されます。

  • 固有のJavaデータ型(boolean、string、shortなど)が指定されている。

  • アクセスして読取りまたは書込み(もしくはその両方)を行える。

  • JMSセレクタを介してルーター上でフィルタ処理するために使用できる。

ペイロード

ペイロード・セクションにはメッセージの内容が含まれます。この内容は、テキスト、XML、バイナリなど、何でも構いません。

22.1.1.2 JMS宛先の使用

Oracle Data Integratorでは、JMS宛先によって配信されるJMSテキストおよびバイト・メッセージの処理が可能です。各メッセージはデータ行のコンテナとして扱われ、JMSキューまたはJMSトピック・テクノロジを介して処理されます。

JMSキューまたはJMSトピック・テクノロジでは、各JMS宛先がフラット・ファイル・データストアと同様に定義されます。宛先内の各メッセージは、データストアのレコードです。

トポロジでは、単一の物理スキーマを使用して、各JMSルーターがJMSトピックまたはキューのデータ・サーバーとして定義されます。つまり、1つのデータ・サーバーを使用してトピックにアクセスし、別のデータ・サーバーを使用してキューにアクセスするために、JMSルーターは2回定義される可能性があります。

各JMS宛先(トピックまたはキュー)は、リソース名がJMS宛先の名前(ルーターで定義されたキューまたはトピックの名前)と一致する、JMSデータストアとして定義されます。モデルによって、異なるトピックまたはキューに関連するメッセージ構造がグループ化されます。

JMSデータストア構造は、同様にフラット・ファイル(デリミタ付きまたは固定幅)に定義されます。メッセージのプロパティまたはヘッダー・フィールドは、JMS固有のデータ型を使用して、このフラット・ファイル構造内で追加の擬似列として宣言できます。宛先内の各メッセージは、JMSデータストアのレコードとして処理されます。

メッセージの処理

JMS宛先は通常のファイル・データストアとして、また、メッセージはこれらのデータストアの行として処理されます。これらのテクノロジにより、メッセージ・セット全体が生成され、各インタフェース内で消費されます。

メッセージのパブリッシュおよび消費には、JMS宛先からのメッセージの削除またはJMS宛先へのメッセージのポストをファイナライズするための、コミット・アクションが必要です。コミットは特に、読取り時に重要です。コミットしない場合、メッセージは読み取られますが消費されません。そのようなメッセージはJMSトピックまたはキューに残るため、後で再度読み取られます。

メッセージの内容および擬似列は、どちらも通常の列として(マッピング、フィルタなどに)統合インタフェース内で使用できます。一部の擬似列(MESSAGE_IDプロパティを表す擬似列など)は読取り専用であり、ヘッダー・フィールドの一部のプロパティはナレッジ・モジュール・オプションを介して使用(または設定)されます。

Data Integratorでは、メッセージ・ペイロード(列)として、またはアプリケーション・プロパティなどのプロパティ(擬似列)を介して、情報を転送できます。

プロパティを使用した情報伝達は、メッセージを生成または消費するサード・パーティ・アプリケーションによって制限されます。

メッセージのフィルタ処理

次の2つの方法で、JMS宛先のメッセージをフィルタ処理できます。

  • データストアの列および擬似列を使用して、フィルタを定義する。この場合、メッセージの消費後に、Data Integratorによってフィルタ処理操作が実行されます。これは、このフィルタで拒否されるメッセージも消費される可能性があることを意味します。

  • メッセージ・セレクタ(MESSAGE_SELECTOR KMオプション)を定義する。このタイプのフィルタでは、メッセージのプロパティまたはヘッダー・フィールドのみを使用できます。このフィルタはルーターによって処理され、フィルタ条件を満たすメッセージのみが消費されるため、転送されるメッセージの数が削減されます。

22.1.2 ナレッジ・モジュール

Oracle Data Integratorには、JMSメッセージを処理するためのナレッジ・モジュール(KM)が用意されています。これらのリストを表22-1に示します。

表22-1 JMSナレッジ・モジュール

ナレッジ・モジュール 説明

IKM SQL to JMS Append

任意のSQL準拠ステージング領域からJMS準拠のメッセージのキューまたはトピックへ、テキストまたはバイナリ形式でデータを統合します。

データを変換してターゲットのJMSキューまたはトピックにエクスポートする場合は、このIKMの使用を検討してください。ほとんどのソース・データストアが同じデータ・サーバー上にある場合は、余分なロード・フェーズ(LKM)を発生させないために、このデータ・サーバーをステージング領域として使用することをお薦めします。

このIKMを使用するには、ステージング領域がターゲットと異なる必要があります。

LKM JMS to SQL

テキストまたはバイナリのJMS準拠メッセージのキューまたはトピックから、ステージング領域として使用される任意のSQL準拠データベースへ、データをロードします。エージェントを使用してソース・キュー/トピックから選択されたメッセージを読み取り、動的に作成された一時ステージング表に結果を書き込みます。

メッセージを確実に配信するために、メッセージのコンシューマ(またはサブスクライバ)は、IKMによってデータが実際にターゲットに統合されるまで、読取りをコミットしません。

ソース・データストアの1つがテキストまたはバイナリのJMSメッセージの場合は、このLKMの使用を検討してください。


22.2 インストールおよび構成

JMSナレッジ・モジュールの使用を開始する前に、この項の情報を必ず読んでください。

22.2.1 システム要件および動作要件

インストールを実行する前に、システム要件および動作要件のドキュメントを読んで、使用する環境がインストールする製品の最低インストール要件を満たすことを確認する必要があります。

サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Network(OTN)からアクセスできます。

http://www.oracle.com/technology/products/oracle-data-integrator/index.html

22.2.2 テクノロジ固有の要件

JMS宛先へのアクセスは、通常、JNDIサービス経由で行われます。JNDIおよびJMSの構成および固有の要件は、接続先のJMSプロバイダによって異なります。詳細は、JMSプロバイダ固有のドキュメントを参照してください。

22.2.3 接続性要件

Oracle Data Integratorには、JMSプロバイダ専用のドライバは含まれていません。このプロバイダの接続性要件は、JMSプロバイダのドキュメントを参照してください。

22.3 トポロジの設定

トポロジの設定には次が含まれます。

  1. JMSデータ・サーバーの作成

  2. JMS物理スキーマの作成

22.3.1 JMSデータ・サーバーの作成

各JMSデータ・サーバーは、ローカル・ネットワーク経由でアクセス可能な1つのJMSプロバイダまたはルーターに対応します。

JMSデータ・サーバーにはJMSキューとJMSトピックの2タイプがあります。

  • JMSキュー・データ・サーバーは、JMSルーター内の複数のキューへのアクセスに使用されます。

  • JMSトピック・データ・サーバーは、JMSルーター内の複数のトピックへのアクセスに使用されます。

22.3.1.1 データ・サーバーの作成

『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のデータ・サーバーの作成に関する項に記載されている標準の手順で、JMSキュー・テクノロジまたはJMSトピック・テクノロジ用のデータ・サーバーを作成します。この項では、JMSキューまたはJMSトピック・データ・サーバーの定義に関する必須または固有のフィールドのみについて説明します。

  1. 「定義」タブ:

    • 名前: Oracle Data Integratorに表示されるデータ・サーバーの名前。

    • ユーザー/パスワード: ここでは使用しません。これらのフィールドは空のままにします。

  2. 「JNDI」タブ:

    • JNDI認証: このフィールドをNoneに設定します。

    • JNDIユーザー: JNDIディレクトリに接続するためのユーザー名を入力します(オプションの手順)。

    • パスワード: このユーザーのパスワード(オプションの手順)。

    • JNDIプロトコル: リストから「JNDI」プロトコルを選択します(オプションの手順)。

    • JNDIドライバ: JNDIプロバイダに接続するための初期コンテキスト・ファクトリjavaクラスの名前。例(LDAPの場合): com.sun.jndi.ldap.LdapCtxFactory

    • JNDI URL: <JMS_RESOURCE>。例(LDAPの場合):ldap://<host>:<port>/<dn>

    • JNDIリソース: JMSキューまたはトピックの接続ファクトリに対応するJNDIリソースの論理名。

      たとえば、メッセージ・キューにアクセスする場合はQueueConnectionFactory、トピックにアクセスする場合はTopicConnectionFactoryを指定します。これらのパラメータはJNDIディレクトリおよびプロバイダ固有のものです。

22.3.2 JMS物理スキーマの作成

『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の物理スキーマの作成に関する項に記載されている標準の手順で、JMS物理スキーマを作成します。


注意:

各JMSデータ・サーバーに必要な物理スキーマは、1つのみです。

『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の論理スキーマの作成に関する項に記載されている標準の手順で、この物理スキーマ用の論理スキーマを作成し、特定のコンテキストで関連付けます。

22.4 統合プロジェクトの設定

JMSを使用してプロジェクトを設定するには、標準の手順に従います。『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の統合プロジェクトの作成に関する項を参照してください。

JMSでの作業を開始するにあたり、使用するプロジェクトに次のナレッジ・モジュールをインポートすることをお薦めします。

22.5 JMSモデルの作成および定義

この項の内容は次のとおりです。


注意:

JMSモデルをリバース・エンジニアリングすることはできません。データストアを作成するには、JMSモデルを作成してJMSデータストアを定義する必要があります。

22.5.1 JMSモデルの作成

『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のモデルの作成に関する項に記載されている標準の手順で、JMSモデルを作成します。

JMSモデルは、ルーターのトピックまたはキューに対応する一連のデータストアです。各データストアは特定のキューまたはトピックに対応します。データストアの構造によって、このキューまたはトピックのメッセージ構造が定義されます。モデルは常に、論理スキーマに基づきます。特定のコンテキストで、論理スキーマは1つのJMS物理スキーマに対応します。この物理スキーマに対応するデータ・スキーマには、トピックまたはキューが含まれます。

22.5.2 JMSデータストアの定義

Oracle Data Integrator内の各データストアは、1つのJMSトピックまたはキューです。このトピックまたはキューに含まれる各メッセージは、データストアの1つの行です。

JMSメッセージではあらゆるタイプの情報が伝達されるため、メタデータを取得する方法はありません。そのため、リバース・エンジニアリングは不可能です。

データストアの構造を定義するには、次のいずれかを行います。

  • データストアをファイル・データストアとして作成し、メッセージ構造を手動で宣言します。

  • メッセージのリバース・エンジニアリングを自動化するために、Excelスプレッドシートを介してファイル・リバース・エンジニアリングを使用します。このリバース・エンジニアリング方法の詳細は、第3章「ファイル」を参照してください。

  • 別のモデルからJMSモデルへデータストアを複製します。


重要:

データストアのリソース名は、それらのデータに対応するメッセージを伝達するJMS宛先の名前(論理JNDI名)と同一にする必要があります。通常、これらの名前では大/小文字が区別されます。

擬似列としてのJMSプロパティの宣言

プロパティ擬似列は、メッセージのプロパティまたはヘッダー・フィールドを表します。これらの擬似列は、JMS固有のデータ型を使用して、Oracle Data Integratorモデル内でJMSデータストアの列として定義されます。JMS固有のデータ型は、JMS_xxx(例: JMS String、JMS Long、JMS Intなど)と呼ばれます。

これらのプロパティ擬似列を定義するには、単純に、プロパティと同じ名前の、JMS固有の適切なデータ型が指定された追加の列を宣言します。

標準、プロバイダ固有またはアプリケーション固有のプロパティのような名前で擬似列を定義した場合、擬似列はそのようなプロパティとしてメッセージで消費またはパブリッシュされます。擬似列が標準またはプロバイダ固有のJMSプロパティ・セットにリストされていない場合は、アプリケーション固有の追加のプロパティとみなされます。

たとえば、インタフェースで、CUSTOMERというJMSキューから消費された、またはJMSキューにプッシュされたメッセージのJMSPriorityデフォルト・プロパティを使用または設定するには、CUSTOMERデータストアに(大/小文字を区別して)JMSPriorityという列を追加します。この列では、JMSキュー・テクノロジに対してJMS Intデータ型を使用できます。


警告:

 

  • プロパティ擬似列は、定義してJMSデータストアのメッセージ・ペイロードを構成する列の後に配置する必要があります。列定義の「順序」フィールドを使用して、これらの列を配置します。データストア定義の最後に表示されているかぎり、擬似列自体の順序は重要ではありません。

  • 擬似列名では大/小文字が区別されます。


JMSプロパティの詳細は、次を参照してください。

22.6 インタフェースの設計

JMSは、統合インタフェースのソースまたはターゲットとして使用できます。ステージング領域として使用することはできません。

インタフェースまたはチェック用に選択したKMによって、このインタフェースまたはチェックの機能およびパフォーマンスが決まります。この項に示す推奨事項は、JMSメッセージに関連する様々な状況でのKMの選択に役立ちます。

22.6.1 JMSソースからのデータのロード

JMSは、インタフェースのソースまたはターゲットとして使用できます。JMSメッセージ・キューまたはトピックのデータは、ステージング領域として使用される任意のSQL準拠データベースにロードできます。インタフェース・フロー・タブでの、JMSと別のタイプのデータ・サーバー間でデータをロードするためのLKMの選択は、インタフェースのパフォーマンスに関してきわめて重要です。

Oracle Data Integratorには、JMSソースからステージング領域へデータをロードするためのLKM JMS to SQLが用意されています。このLKMは、テキストまたはバイナリのJMS準拠メッセージ・キューまたはトピックから、ステージング領域として使用される任意のSQL準拠データベースへ、データをロードします。

JMS固有のオプションは、表22-2を参照してください。

22.6.2 JMSターゲットでのデータの統合

Oracle Data Integratorには、JMS用に最適化されたデータ統合戦略を実装するIKM SQL to JMS Appendが用意されています。このIKMは、任意のSQL準拠ステージング領域からJMS準拠のメッセージ・キューまたはトピックへ、テキストまたはバイナリ形式でデータを統合します。このIKMのJMS固有のKMオプションは、表22-2を参照してください。

インタフェース・フロー・タブのIKMの選択によって、統合のパフォーマンスおよび可能性が決まります。

JMSナレッジ・モジュール・オプション

JMS IKMおよびLKMのJMS固有のKMオプションは、表22-2を参照してください。

このLKMのJMS固有のオプションは、IKM SQL to JMS Appendのオプションと類似しています。異なるのは次の2点のみです。

  • DELETE_TEMPORARY_OBJECTSオプションは、LKMのみで使用できます。

  • PUBLISHオプションは、IKMのみで使用できます。

表22-2 JMS固有のKMオプション

オプション 用途 説明

PUBLISH

書込み

宛先に新規メッセージをパブリッシュする場合は、このオプションをチェックします。このオプションは、デフォルトでYesに設定されています。

JMS_COMMIT

読取り/書込み

メッセージの公開または消費をコミットします。ルーター上で公開または消費をコミットしないためには、このオプションを選択解除します。このオプションは、デフォルトでYesに設定されています。

JMSDELIVERYMODE

書込み

JMS配信モード(1: 非永続、2: 永続)。永続メッセージはサーバーに残るため、サーバーのクラッシュ時にリカバリされます。

JMSEXPIRATION

書込み

サーバー上でのメッセージの有効期限をミリ秒で指定します(0〜4 000 000 000)。0の場合、メッセージの有効期限が切れることはありません。

警告: この有効期限を過ぎると、メッセージは期限切れとみなされ、トピックまたはキューからなくなります。インタフェースの開発時には、このパラメータをゼロに設定することをお薦めします。

JMSPRIORITY

書込み

メッセージの相対的優先度: 0(最低)〜9(最高)。

SENDMESSAGETYPE

書込み

送信するメッセージのタイプ(1: BytesMessage、2: TextMessage)。

JMSTYPE

書込み

メッセージの名前(オプション)。

CLIENTID

読取り

サブスクライバ識別文字列。このオプションは、JMS互換のためにのみ記述されます。

公開には使用されません。

DURABLE

読取り

D: セッションは永続的です。切断後もサブスクライバ定義がルーター上に残ることを示します。

MESSAGEMAXNUMBER

読取り

取得されるメッセージの最大数(0〜4 000 000 000)。0: すべてのメッセージが取得されます。

MESSAGETIMEOUT

読取り

最初のメッセージの待機時間をミリ秒で示します(0〜4 000 000 000)。MESSAGETIMEOUTが0の場合、タイムアウトは発生しません。

MESSAGETIMEOUTおよびMESSAGEMAXNUMBERの両方をゼロにすることはできません。MESSAGETIMEOUT= 0でMESSAGEMAXNUMBER =0の場合、MESSAGETIMEOUTの値として1が使用されます。

警告: このタイムアウト値が小さすぎると、インタフェースによってメッセージが取得されない可能性があります。

NEXTMESSAGETIMEOUT

読取り

後続の各メッセージの待機時間をミリ秒で示します(0〜4 000 000 000)。デフォルト値は1000です。

警告: この値が小さすぎると、トピックまたはキューにあるメッセージの一部分しか取得されない可能性があります。

MESSAGESELECTOR

読取り

ISO SQL構文のメッセージ・セレクタ。メッセージ・セレクタの詳細は、22.7.1項「JMSプロパティの使用」を参照してください。


22.7 JMS標準プロパティ

この項では、メッセージ・ヘッダーに含まれるJMSプロパティおよび使用方法について説明します。

Oracle Data Integratorでは、JMS標準プロパティに対応する擬似列を表22-3の説明に従って宣言する必要があります。

JMSタイプおよびアクセス・モード列では、Oracle Data IntegratorまたはJavaプログラムのこれらのプロパティの使用が参照されます。Oracle Data Integratorでは、これらのプロパティの一部がIKMオプションを介して使用されるため、擬似列値をインタフェースで設定しないでください。

これらのプロパティのJavaプログラムでの使用方法は、http://java.sun.com/products/jms/を参照してください。

表22-3 メッセージ・ヘッダーの標準JMSプロパティ

プロパティ JMS型 アクセス(読取り/書込み) 説明

JMSDestination

JMS String

R

メッセージの宛先(トピックまたはキュー)の名前。

JMSDeliveryMode

JMS Integer

R/W(IKMオプションによって設定)

配信モード: 1 = 非永続、または2 = 永続。永続メッセージは、ルーターがクラッシュした場合でも失われることはありません。

このプロパティは、メッセージの送信時にJMSDELIVERYMODE KMオプションによって設定されます。

JMSMessageID

JMS String

R

メッセージの一意の識別子。この識別子はルーターによって内部的に使用されます。

JMSTimestamp

JMS Long

R

メッセージ送信操作の日時。この時間は、UTC標準形式で格納されます(1)。

JMSExpiration

JMS Long

R/W(IKMオプションによって設定)

メッセージの有効期限の日時。この時間は、UTC標準形式で格納されます(1)。

このプロパティを設定するには、JMSEXPIRATION KMオプションを使用する必要があります。

JMSRedelivered

JMS Boolean

R

メッセージが再送されたかどうかを示します。これは、メッセージ・コンシューマがメッセージ受信の確認に失敗した場合に発生します。

JMSPriority

JMS Int

R/W

メッセージの返信の送信先となる宛先(トピックまたはキュー)の名前。

JMSCorrelationID

JMS String

R/W

メッセージの相関ID。この返信を生成するメッセージのJMSMessageIDが使用される場合があります。また、アプリケーション固有の識別子が使用される場合もあります。

JMSType

JMS String

R/W(IKMオプションによって設定)

メッセージ・タイプ・ラベル。このタイプは、メッセージを実用的に説明する文字列値です(例: SalesEventSupportProblem)。

このプロパティを設定するには、JMSTYPE KMオプションを使用する必要があります。


表22-4に、JMS標準のオプションのJMS定義プロパティをリストします。

表22-4 メッセージ・ヘッダーの標準JMSプロパティ

プロパティ JMS型 アクセス(読取り/書込み) 説明

JMSXUserID

JMS String

R

クライアント・ユーザーID。

JMSXAppID

JMS String

R

クライアント・アプリケーションID。

JMSSXProducerTXID

JMS String

R

本番セッションのトランザクションID。このIDは、2つのJMSコミット操作の間にプロデューサが宛先に送信したすべてのメッセージで同一です。

JMSSXConsumerTXID

JMS String

R

現在の消費セッションのトランザクションID。このIDは、2つのJMSコミット読取り操作の間にコンシューマが宛先から読み取ったメッセージのバッチで同一です。

JMSXRcvTimestamp

JMS Long

R

メッセージの受信日時。この時間は、UTC標準形式で格納されます(1)。

JMSXDeliveryCount

JMS Int

R

メッセージの受信回数。常に1に設定されます。

JMSXState

JMS Int

R

メッセージの状態。常に2(準備完了)に設定されます。

JMSXGroupID

JMS String

R/W

メッセージが属するグループのID。

JMSXGroupSeq

JMS Int

R/W

メッセージ・グループ内のメッセージの順序番号。


(1): UTC(協定世界時)標準は、1970年1月1日から経過したミリ秒数です。

22.7.1 JMSプロパティの使用

メッセージには、内容の他にも一連のプロパティが添付されます。これらは、プロバイダ固有のプロパティ、アプリケーション固有(ユーザー定義)のプロパティまたはJMS標準プロパティです。

JMSプロパティはOracle Data Integratorで補足情報として使用され、メッセージのフィルタ処理などに使用されます。

22.7.1.1 JMSプロパティの宣言

JMSデータストアの定義の際に、インタフェースで使用するJMSプロパティに対応する擬似列を追加する必要があります。詳細は、「擬似列としてのJMSプロパティの宣言」を参照してください。

22.7.1.2 ルーター上でのフィルタ処理

このタイプのフィルタ処理では、フィルタはJMS読取り問合せの送信時に指定されます。メッセージ・セレクタ・フィルタと一致するメッセージのみが取得されます。メッセージ・セレクタは、Oracle Data IntegratorでMESSAGE_SELECTOR KMオプションを使用して指定されます。


注意:

ルーターのフィルタ処理は、JMSの必須機能ではありません。そのため、使用できない場合があります。JMSプロバイダのドキュメントで、この機能が使用可能であることを確認してください。

MESSAGE_SELECTORはSQLのWHERE構文でプログラムされます。次の(比較、ブールおよび数値)演算子がサポートされています。

+、-、*、/、=、>、<、<>、>=、<=、OR、AND、BETWEEN、IN、NOT、LIKE、IS NULL


注意:

  • IS NULL句では、空の値を持つプロパティは処理されますが、存在しないアプリケーション固有プロパティは処理されません。

    たとえば、セレクタCOLOR IS NULLが定義されている場合、アプリケーション固有プロパティCOLORが空の値とともに指定されているメッセージは、正しく消費されます。同じトピックまたはキューにある別のメッセージにこのプロパティが指定されていない場合、そのメッセージでは例外が発生します。


優先度が5より高いすべてのメッセージをフィルタ処理する場合

JMSPriority > 5

優先度が6より低く、タイプがSales_Eventのすべてのメッセージをフィルタ処理する場合

NOT JMSPriority < 6 AND JMSType = 'Sales_Event'

22.7.1.3 クライアント上でのフィルタ処理

フィルタ処理はメッセージの受信後に実行されます。また、ステージング領域で実行する必要がある標準のOracle Data Integratorインタフェース・フィルタを作成することで設定されます。フィルタでは、ソースJMSデータストアの擬似列が使用されます。Oracle Data Integratorデータストアで定義された擬似列は、JMSプロパティを表します。詳細は、「擬似列としてのJMSプロパティの宣言」を参照してください。この方法でフィルタ処理されたメッセージは、キューまたはトピックから消費されたとみなされます。

22.7.1.4 ソース・データとしてのプロパティ値の使用

JMSプロパティの値は、インタフェースのソース・データとして使用できます。これは、マッピングでソースJMSデータストアの擬似列を指定することで実行されます。詳細は、「擬似列としてのJMSプロパティの宣言」を参照してください。

22.7.1.5 メッセージ送信時のプロパティの設定

JMSデータストアをターゲット指定するインターフェースで擬似列の値をマップすることで、メッセージの送信時にJMSプロパティを指定できます。一部のプロパティはKMオプションを使用して設定されます。詳細は、22.7項「JMS標準プロパティ」を参照してください。