4.2.1.3 JMSストリームの作成

前提条件: JMS接続

JMSストリームを作成するには:

  1. 「カタログ」ページで、「新規アイテムの作成」をクリックします。
  2. マウスを「ストリーム」の上に置き、サブメニューから「JMS」を選択します。
  3. 「タイプ・プロパティ」画面で、次の詳細を入力します:
    • 名前: ストリームの一意の名前を入力します。これは必須フィールドです。
    • 表示名: ストリームの表示名を入力します。空のままにすると、「名前」フィールドの値がコピーされます。
    • 説明
    • タグ
    • ストリーム・タイプ: 選択したストリームが表示されます。
  4. 「次」をクリックします。
  5. 「ソース・タイプ」ページで、次の詳細を入力します:
    • 接続: ストリームの既存のJNDI接続を選択します

    • 接続ファクトリ: 接続ファクトリの値を入力します。ConnectionFactoryは、接続の構成情報をカプセル化し、JMSアプリケーションが接続を作成できるようにします。デフォルト値はweblogic.jms.ConnectionFactoryです。

      ノート:

      GGSAは、Oracle Advanced Queueからメッセージを読み取ることができます。このオプションは、一般的なJMSコネクタoracle.jms.AQjmsInitialContextFactoryとして使用できます。
    • JNDI名: トピック、分散トピック、キューおよび分散キューからメッセージを読み取るJavaインタフェースの名前を入力します

    • クライアントID: 永続サブスクライバに使用する一意のクライアントIDを入力します。この値を指定しない場合、サブスクライバIDがclientIDとして使用され、永続サブスクライバが作成されます。

    • メッセージ・セレクタ: メッセージをフィルタするためのメッセージ・セレクタを設定します。メッセージ・セレクタは、メッセージのフィルタ作業を、アプリケーションではなくJMSプロバイダに割り当てます。

      メッセージング・アプリケーションで受信したメッセージをフィルタする必要がある場合は、JMS APIメッセージ・セレクタを使用できます。メッセージ・セレクタは、式を含むStringです。式の構文は、SQL92の条件式構文のサブセットに基づきます。次の例のメッセージ・セレクタは、値がSportsまたはOpinionに設定されたNewsTypeプロパティを持つすべてのメッセージを選択します:

      NewsType = ’Sports’ OR NewsType = ’Opinion’

      createConsumerおよびcreateDurableSubscriberメソッドによって、メッセージ・コンシューマの作成時に引数としてメッセージ・セレクタを指定できます。

    • サブスクリプションID: 永続セレクタの一意のサブスクリプションIDを入力します。この値は、永続サブスクライバには必須です。

      ノート:

      clientIDとsubscriberIDの両方を指定した場合、そのストリームを使用できる実行中のパイプラインは1つのみです。複数のサブスクライバ/パイプラインが必要な場合は、clientIDまたはsubscriberNameをストリームから削除するか、複数のパイプラインに対して別々のストリーム(clientIDおよびsubscriberNameが異なる)を作成します。
    • データ形式: ドロップダウン・リストからデータ形式を選択します。サポートされている形式は、CSV、JSON、AVRO、MapMessageです。

      MapMessageオブジェクトは、名前/値ペアのセットを送信する際に使用されます。名前はStringオブジェクトで、値はJavaプログラミング言語のプリミティブ・データ型です。名前には必ず値が必要であり、値をnullや空の文字列にすることはできません。このエントリには、名前を指定して順次的またはランダムにアクセスできます。エントリの順序は定義されません。

  6. 「次」をクリックします。
  7. 「データ形式」画面で、選択したデータ形式に基づいてストリームの形状の詳細を入力します。
    • JSONの場合:
      • 列名の欠落の許可: このオプションを選択して、形状に定義されていない列を含む入力ストリームを許可します。
    • CSVの場合:
      • CSV事前定義済形式: ドロップダウン・リストから事前定義済データ形式のいずれかを選択します。詳細は、「事前定義済CSVデータ形式」を参照してください。
      • 最初のレコードをヘッダーとする: 最初のレコードをヘッダー行として使用するには、このオプションを選択します。
    • AVROの場合:
      • スキーマ・ネームスペース: ストア内のスキーマを一意に識別するために、スキーマ名をネームスペースと組み合せて入力します。
      • スキーマ(オプション): 形状の推測元のスキーマ・ファイルをアップロードします。
    • データ形式としてMapMessageを選択した場合、この画面で設定する特定の属性はありません。「データ形式」画面はスキップされ、「形状」画面にリダイレクトされます。
  8. 「次」をクリックします。
  9. 「形状」画面で、形状を定義するいずれかの方法を選択します:
    • 形状の推測: このオプションを選択すると、入力データ・ストリームから形状が自動的に検出されます。

    • 既存の形状の選択: ドロップダウン・リストから既存の形状のいずれかを選択します。

    • 手動形状: ストリームまたはファイルからフィールドを手動で推測するには、このオプションを選択します。フィールドのデータ型を更新することもできます。

      ノート:

      • JSONペイロード全体を取得するには、パス$を持つ新しいフィールドを追加します。
      • 配列の内容を取得するには、パス$[arrayField]を持つ新しいフィールドを追加します。

      どちらの場合も、返される値はテキスト型です。

    • ファイルから: JSONスキーマ・ファイル、JSONまたはCSVデータ・ファイルから形状を推測するには、このオプションを選択します。自動検出された形状を保存して、後で使用することもできます。
  10. 「保存」をクリックします。

JMSサーバーのクリーンアップ

JMSストリームを作成して永続サブスクリプション・オプションを選択すると、GGSAによってJMSプロバイダとの永続サブスクリプションが作成されます。このストリームを使用しているパイプラインをパブリッシュ解除または強制終了しても、永続サブスクリプションはJMSサーバーに残ります。パイプラインを今後パブリッシュする予定がなければ、JMSサーバーから永続サブスクリプションを削除して、リソースをクリーンアップすることをお薦めします。