メイン コンテンツをスキップする 補完的コンテンツへスキップ

データ統合ジョブと通信するルート

このセクションでは、ルートのパレットに含まれていないCamelコンポーネントの使用方法、およびジョブとルートを接続するソケットの使用方法に関するシナリオを説明しています。

このシナリオでは、データ統合ジョブを作成します。このジョブは、1つのソケットポートからメッセージをリッスンし、別のポートにメッセージを送信します。次に、ルートを作成します。このルートは、テストメッセージをリスニングポートに送信し、受信および発信ポートのメッセージの交換をログに記録します。

データ統合ジョブを作成する

Procedure

  1. Talend StudioIntegrationパースペクティブでジョブを作成し、デザインワークスペースでそのジョブを開きます。
    ジョブの作成方法の詳細は、ジョブを作成をご覧ください。
  2. [Palette] (パレット)からデザインワークスペースに、tSocketInputコンポーネント、tSocketOutputコンポーネント、tLogRowコンポーネントを配置します。[Row] (行) > [Main] (メイン)接続を使って、これらのコンポーネントをリンクさせます。
    デザインワークスペース内のジョブのスクリーンショット。
  3. tSocketInputコンポーネントをダブルクリックし、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。
    [Basic settings] (基本設定)ビュー。
  4. [Port] (ポート)フィールドでリスニングポート番号を定義します。たとえば、8900にします。デフォルトでローカルホストサーバーが使用されます。[Timeout] (タイムアウト)フィールドの時間(秒)を30000に設定します。これはジョブがタイムアウトする時間です。
  5. tSocketOutputコンポーネントをダブルクリックし、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。
    [Basic settings] (基本設定)ビュー。
    [Basic settings] (基本設定)ビュー。
  6. [Host] (ホスト)フィールドにホストIPアドレスを、[Port] (ポート)フィールドにポート番号を入力します。
    tLogRowコンポーネントによりデータ処理が監視されるため、設定する必要はありません。
  7. Ctrl + Sを押してジョブを保存します。

ジョブと通信するためのルートを作成する

Procedure

  1. ルートを作成し、デザインワークスペースでそのルートを開きます。
    ルートを作成する方法の詳細は、ルートを作成をご覧ください。
  2. [Palette] (パレット)からデザインワークスペースに、cSetBodyコンポーネントを1つ、cMessagingEndpointコンポーネントを5つ配置します。ロールを推測できるラベルをコンポーネントに付け、[Row] (行) > [Main] (メイン)接続を使って、これらのコンポーネントをリンクさせます。
    デザインワークスペース内のジョブのスクリーンショット。

受信側サブルートを設定する

Procedure

  1. testMinaコンポーネントをダブルクリックし、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。
    [Basic settings] (基本設定)ビュー。
  2. URIフィールドに、コード"timer:testOneWayMina?delay=1000&period=2000"を入力し、メッセージの交換を開始するためのタイマーを定義します。この場合、各メッセージは2秒間に1秒遅れで配信されます。
  3. initializeRequestコンポーネントをダブルクリックし、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。
    [Basic settings] (基本設定)ビュー。
  4. [Language] (言語)リストボックスで[Constant] (定数)を選択し、[Expression] (式)フィールドに"test message\n"と入力します。
  5. logRequestコンポーネントをダブルクリックし、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。
    [Basic settings] (基本設定)ビュー。
  6. URIフィールドに"log:jobSocketIn"と入力します。ここに、受信メッセージの交換が記録されます。
  7. jobSocketInコンポーネントをダブルクリックし、[Component] (コンポーネント)タブで[Advanced settings] (詳細設定)ビューを開きます。
    [Advanced settings] (詳細設定)ビュー。
  8. このユースケースでは、Camelコンポーネントのcamel-minaをトランスポートとして使用します。このコンポーネントを使用するには、[Dependencies] (依存項目)リストの下部にある[Add] (追加)をクリックして行を追加し、ドロップダウンリストからminaを選択します。Minaの詳細は、Camel Apacheのドキュメンテーションをご覧ください。
    または、cConfigコンポーネントを使って、MINAのライブラリーをcConfigコンポーネントの[Dependencies] (依存項目)リストに追加できます。そのためには、[Dependencies] (依存項目)リストの下部にある[Add] (追加)をクリックし、行を追加します。この行を選択し、その最後にある[...]ボタンをクリックして、[Select Module] (モジュールの選択)ウィザードを開きます。
    [Basic settings] (基本設定)ビュー。
    内部モジュールからcamel-mina-alldep-2.9.2.jarを選択し、[OK]をクリックして、[Dependencies] (依存項目)リストにこれを追加します。
    [Select Module] (モジュールを選択)ウィザード。
  9. jobSocketInコンポーネントの[Component] (コンポーネント)タブで、[Basic settings] (基本設定)をクリックします。URIフィールドに"mina:tcp://localhost:" + 8900 + "?textline=true&sync=false"と入力し、ポート番号8900のTCPサービスのMinaエンドポイントにInOnlyモードのテキスト行としてメッセージを送信します。
    [Basic settings] (基本設定)ビュー。

発信側サブルート設定する

Procedure

  1. jobSocketOutコンポーネントをダブルクリックし、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。
    [Basic settings] (基本設定)ビュー。
  2. URIフィールドに発信ソケットポートの"mina:tcp://localhost:" + 8901 + "?textline=true&sync=false"を入力します。
  3. logResponseコンポーネントをダブルクリックし、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。
    [Basic settings] (基本設定)ビュー。
  4. URIフィールドに"log:jobSocketOut"と入力します。ここに、発信メッセージの交換が記録されます。
  5. Ctrl + Sを押してジョブを保存します。

コードを表示してルートとジョブを実行する

Procedure

  1. デザインワークスペースの下部の[Code] (コード)タブをクリックし、生成されたコードを確認します。
    [Code] (コード)タブ内に生成されたコード。

    上記に示すように、testMinaからのメッセージフローは、cSetBodyによりペイロードが付加され、logRequestjobSocketInに送信されます。もう1つのメッセージフローは、jobSocketOutからlogResponseに送信されます。

  2. F6を押してルートを実行し、同様にジョブを実行します。ルートは、ジョブが開始するまで、定義されたポートへの接続を試みます。

    受信ポートおよび発信ポートのメッセージの変更ログが、ルートの実行コンソールに出力されます。

    ルートの実行コンソール。

    ジョブの側でも、処理されたメッセージがコンソールに表示されます。

    ジョブの実行コンソール。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。