JMS アクティビティを作成する

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:8分
  • Java Messaging Service を使用してメッセージを取得したり、外部システムにメッセージを送信したりするカスタム JMS アクティビティを作成します。

    始める前に

    必要なロール:activity_creator または workflow_admin

    このタスクについて

    JMS アクティビティは、JMS クライアントアプリケーションが標準的な Java EE パターンで作成され、以下の操作をサポートできるサードパーティの JMS プロバイダーをサポートします。
    • JNDI を使用して ConnectionFactory オブジェクトを検索する。
    • JNDI を使用して 1 つまたは複数の宛先オブジェクトを検索する。
    • ConnectionFactory を使用して JMS 接続オブジェクトを作成する。
    • JMS 接続を使用して 1 つまたは複数の JMS セッション オブジェクトを作成する。
    • JMS セッションと宛先を使用して MessageProducer オブジェクトと MessageConsumer オブジェクトを作成する。
    • JMS 接続を開始して、メッセージの配信または消費を有効にする。
    注:
    JMS アクティビティデザイナーは、JMS プロバイダー ActiveMQ および Tibco EMS でテストされています。JMS プロバイダーに接続する際には、サードパーティのユーザーマニュアルを参照してください。

    手順

    1. JMS 認証情報を作成または検証します。
      JMS 認証情報には、ターゲットデータベースに対する権限と、対応する JMS 接続に対する適切な構成が必要です。JMS アクティビティを作成する前に、認証情報を設定する必要があります。
    2. JMS 接続を作成または検証します。
      JMS アクティビティを作成する前に、有効な JMS 認証情報を設定した JMS 接続を構成する必要があります。
    3. カスタムアクティビティを作成します。
      このアクションにより、テンプレートを使用してカスタムアクティビティが作成されます。
    4. 一般的なプロパティを設定し、入力変数を作成した後、JMS 実行コマンドを構成します。
      オプション説明
      認証情報の設定 データベース接続に必要なフィールドに入力します。
      Connection Factory JMS Connection Factory の名前。JMS 接続を作成または検証する必要があります。この設定では、初期コンテキスト ファクトリーの名前を JMS プロバイダーの URL とリンクします。
      宛先タイプ このメッセージに使用される宛先のタイプ:
      • キュー:メッセージはポイントツーポイント通信のためにキューに入れられます。
        注:
        GET 操作は、[キュー] 宛先タイプでのみサポートされます。
      • トピック:メッセージはパブリッシュおよびサブスクライブ通信に使用されます。
      宛先名 JMS プロバイターで設定されているキューまたはトピックの宛先の名前。
      メッセージ タイプ JMS メッセージ タイプの値。[テキスト メッセージ] タイプのみサポートされます。キューまたはトピックの宛先は、テキスト メッセージのみを受信または送信するように設定する必要があります。他のメッセージ タイプは、JMS アクティビティが処理できないため、削除されます。
      運用 宛先で実行するプログラムによる操作。選択肢は PUT または GET です。
      タイムアウト (秒) メッセージ キュー内のメッセージを、タイムアウトするまでに待機する時間 (秒単位)。デフォルトは 30 です。
      カスタム メッセージ ヘッダー JMS 宛先で使用可能な名前/値のペア形式のカスタム ヘッダー値。
      注:
      これは PUT 操作にのみサポートされます。
      メッセージ ペイロード JMS 宛先に送信される実際のメッセージ コンテンツまたはペイロード。
      注:
      これは PUT 操作にのみサポートされます。
      認証情報タグ オーケストレーション ワークフロー内の JMS アクティビティの個々の認証情報のタグ。
      必要な MID サーバー機能 使用する MID サーバー (機能別)。

    次のタスク

    オーケストレーション アクティビティの JMS 接続を作成する

    カスタム オーケストレーション JMS アクティビティで Java Messaging Service (JMS) を使用するようにシステムを設定します。

    始める前に

    必要なロール:admin

    このタスクについて

    MID サーバーには、組織に適切な JMS 接続ファクトリーが必要です。これらの値を、次にある mid.property.jms.command.allowed_factory_names プロパティで構成します。 MID サーバー > プロパティ. このプロパティのデフォルト値は、サードパーティの JMS プロバイダーが通知する任意の値またはカンマ区切りの値リストに変更できます。

    手順

    1. 移動先 MID サーバー > JAR ファイル.
    2. [新規] をクリックして、以下を追加します。
      オプション説明
      名前 インスタンス内のファイルを識別するためのわかりやすい一意の名前。
      バージョン ファイルのバージョン番号 (使用可能な場合)。
      ソース 参照用の JAR ファイルの場所。ソース情報はシステムで使用されません。
      説明 インスタンス内の JAR ファイルとその目的の簡単な説明。
    3. バナーにあるクリップ アイコンをクリックして JMS ドライバー JAR ファイルを添付します。
      JMS ドライバーの JAR ファイルは、JMS プロバイダーのインストールの一部として使用可能になっている必要があります。JMS ベンダーによっては、それらを別個の製品として使用可能にしている場合があります。クライアント アプリケーションが JMS プロバイダーに接続している必要がある JMS クライアント ドライバー JAR ファイルを判別するには、JMS プロバイターの資料を参照してください。たとえば、ActiveMQ V5.10 (JMS プロバイダー) に接続しようとしている場合は、activemq-all-5.10.1.jar ファイルが必要です。
    4. 移動先 オーケストレーション > 認証情報 & 接続 > JMS Connection Factory.
    5. [新規] をクリックして、以下を追加し、[送信] をクリックします。
      オプション説明
      名前 この接続ファクトリーの一意の名前。
      初期コンテキスト ファクトリー InitialContext の作成に使用する JNDI クラスの名前。
      注:
      たとえば、ActiveMQ V5.10 (JMS プロバイダー) に接続する場合、値は org.apache.activemq.jndi.ActiveMQInitialContextFactory です。
      プロバイダー URL 実行中の JMS プロバイダーのインストールの場所。
      注:
      たとえば、ActiveMQ V5.1 に接続するには、tcp://ipAddressOrHostName:61616になります。
    6. 移動先 オーケストレーション > 認証情報.
    7. [新規] をクリックして [JMS 認証情報] を選択し、MID で JMS プロバイダーとの通信に使用されるユーザー名とパスワードを入力します。
      詳細は、「JMS 認証情報JMS 認証情報」を参照してください。
    8. [送信] をクリックします。
      これで、カスタム JMS アクティビティを作成する準備ができました。

    JMS テンプレート実行パラメーター

    実行パラメーターを使用して、[後処理] フォームで入力プロセス スクリプトを作成します。

    この表のすべての変数で executionParam. プリフィックスを使用する必要があります。
    表 : 1. JDBC 実行パラメーター
    名前 変数 タイプ 使用法
    Jms ds jms_ds 参照 選択された JMS データソース。
    宛先タイプ destination_type 列挙
    宛先名 destination_name 文字列
    メッセージ タイプ message_type 列挙
    運用 operation 列挙
    タイムアウト time_out 整数 クエリが結果を返すのを待機する時間。
    カスタム ヘッダー custom_headers JavaScript オブジェクトの配列
    メッセージ ペイロード message_payload 文字列
    認証情報タグ credential_tag 文字列 必要な MID サーバー機能のリスト。
    MidCapabilities midCapabilities 文字列 (コンマ区切り)
    ValueCapabilities valueCapabilities ハッシュマップの配列 MID サーバーの選択に使用される機能値。詳細については、「MID サーバーの機能」を参照してください。値によって割り当てられる追加の機能がある場合は、次の例を使用して MID サーバーの選択をカスタマイズします。
    var valueCapability = {'NEW_MID_CAPABIILTY':'NEW_MID_CAPABILITY_VALUE'};
    executionParam.valueCapabilities.push(valueCapability);

    JMS テンプレートの後処理パラメーター

    これらのパラメーターを使用して、後処理スクリプトを作成します。

    表 : 2. JMS 後処理パラメーター
    名前 変数 タイプ 使用法
    ステータス status 文字列 JMS 宛先での操作のステータス (Put または Get)。
    StandardHeaders standardHeaders 文字列 Get 操作中に JMS メッセージの一部として取得される、JMS で指定されたすべての標準ヘッダー。このフィールドは、Get 操作にのみ適用されます。
    CustomHeaders customHeaders 文字列 Get 操作中に JMS メッセージの一部として取得される、プロデューサーまたはパブリッシャー アプリケーションによって追加されたすべてのカスタム ヘッダー。このフィールドは、Get 操作にのみ適用されます。
    MessagePayload messagePayload 文字列 Get 操作中に JMS メッセージの一部として取得されるメッセージ ペイロード。このフィールドは、Get 操作にのみ適用されます。
    EccSysID eccSysID 文字列 アクティビティによって返された ECC キュー入力メッセージに関連付けられた参照 ID が含まれています。
    ErrorMessages errorMessage 文字列 JMS コマンドから取得したエラーメッセージが含まれます。エラーメッセージがない場合、この値は null です。