ロー TCP/IP ソケットへのサーバー接続を作成し、その接続を介して外部アプリケーションにデータを送信するには、TCPIPServerOutput ノードを使用します。
TCPIPServerOutput ノードは、TCP/IP ポート上で listen し、クライアント・ノードがポートに接続するのを待機します。 クライアント・ノードがポートに接続すると、サーバー・ノードはクライアント用に接続を作成します。 接続は、直接ノードによって行われるのではなく、WebSphere® Message Broker 実行グループによって管理される接続プールから入手されます。
実行グループは、デフォルトの TCPIPServer 構成可能サービスを使用して、ソケット接続に使用される属性を判別します。 しかし、このノード上で構成可能サービスが設定されている場合は、ホストやポート番号を含むすべてのプロパティーに構成可能サービスが使用されます。
接続が確立されていると、データが送信されます。 ノードの「データ・レコード送信タイムアウト」プロパティーで指定された時間制限内にデータが正常に送信されない場合には、例外がスローされます。
TCP/IP ノードに対して SSL を使用するように、ブローカーを構成できます。SSL および TCP/IP ノードを参照してください。
以下のローカル環境のプロパティーは、ノードで使用される TCP/IP 接続を指定変更できます。
ローカル環境中の場所 | 説明 |
---|---|
$LocalEnvironment/Destination/TCPIP/Output/Hostname | 接続を行うのに使用されるホスト名。 |
$LocalEnvironment/Destination/TCPIP/Output/Port | 接続を行うのに使用されるポート番号。 |
$LocalEnvironment/Destination/TCPIP/Output/Id | 使用されるソケットの ID。 この ID は、WebSphere Message Broker で接続を一意的に識別するのに使用される内部 ID です。 |
$LocalEnvironment/Destination/TCPIP/Output/ReplyId | この接続上で保管される応答 ID。 任意のテキスト・ストリングにすることができます。 |
$LocalEnvironment/Destination/TCPIP/Output/Timeout | データを TCP/IP サーバー接続に送信する際に使用されるタイムアウト値。 この値は、ノードで指定された「データ・レコード送信タイムアウト」プロパティーをオーバーライドします。 |
これらのプロパティーを使用すると、接続の詳細 (ホスト名とポート番号) および使用される接続 (ID) を動的に選択できます。 接続上で応答 ID を設定することもできます。こうすると、ストリングを接続中に格納して、ローカル環境で表示することができます。 この動作を使用して、他の TCP/IP ノードか、または WebSphere MQ などの他のトランスポートから応答 ID を保管できます。
ノードの出力には、入力と同じ情報が含まれており、入力から欠落したフィールドが、使用された接続からの詳細情報によって更新されます。 例えば、入力として「ID」プロパティーが提供されない (接続を作成するか、プール接続を再利用するため) 場合、出力ローカル環境には、使用されている接続の ID が含まれます。
ローカル環境中の場所 | 説明 |
---|---|
$LocalEnvironment/WrittenDestination/TCPIP/Output/ConnectionDetails/Hostname | 接続を行うのに使用されるホスト名。 |
$LocalEnvironment/WrittenDestination/TCPIP/Output/ConnectionDetails/Port | 接続を行うのに使用されるポート番号。 |
$LocalEnvironment/WrittenDestination/TCPIP/Output/ConnectionDetails/OpenTimestamp | 初めて接続が開かれた時点のタイム・スタンプ。 |
$LocalEnvironment/WrittenDestination/TCPIP/Output/ConnectionDetails/CloseTimestamp | 接続が閉じた時点のタイム・スタンプ (まだ閉じていない場合はヌル)。 |
$LocalEnvironment/WrittenDestination/TCPIP/Output/ConnectionDetails/SequenceNumber | この接続上で受け取られるメッセージのシーケンス番号。 先頭レコードのシーケンス番号は 1 です。2 番目のレコードのシーケンス番号は 2 で、以下同様です。 |
$LocalEnvironment/WrittenDestination/TCPIP/Output/ConnectionDetails/Id | 使用されるソケットの ID。 この ID は、WebSphere Message Broker で接続を一意的に識別するのに使用される内部 ID です。 |
$LocalEnvironment/WrittenDestination/TCPIP/Output/ConnectionDetails/ReplyId | この接続上で保管される応答 ID。 任意のテキスト・ストリングにすることができます。 |
$LocalEnvironment/WrittenDestination/TCPIP/Output/ConnectionDetails/ClientDetails/Hostname | クライアントの接続元のコンピューターの完全修飾ドメイン・ネーム。 |
$LocalEnvironment/WrittenDestination/TCPIP/Output/ConnectionDetails/ClientDetails/Address | クライアントの接続元のコンピューターの IP アドレス。 |
TCP/IP トランスポートの使用中に接続が閉じると (またはその他のタイプの例外が発生すると)、例外がスローされます。 この例外は、Failure ターミナルが接続されている場合はこのターミナルに移動し、接続されていない場合は例外はメッセージ・フローの下流に戻されます。
このノードには Close 入力ターミナルもあります。 このターミナルにメッセージが送信されると、ノードとローカル環境で提供される詳細情報の組み合わせを使用して接続が閉じられます。
TCPIPServerOutput ノードはパレットの「TCPIP」ドロワーに入っていて、ワークベンチでは次のアイコンによって表されます。
サンプルに関する情報は、WebSphere Message Broker Toolkit に統合されているインフォメーション・センター、またはオンライン・インフォメーション・センターを使用する場合にのみ表示できます。 サンプルは、WebSphere Message Broker Toolkit に統合されているインフォメーション・センターを使用する場合にのみ実行できます。
TCPIPServerOutput ノードのインスタンスをメッセージ・フローに入れると、JMSReply ノードを構成することができます。(詳しくは、メッセージ・フロー・ノードの構成を参照してください。) ノードのプロパティーが、「プロパティー」ビューに表示されます。 値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、そのビュー内でアスタリスクのマークが付けられます。
TCPIPServerOutput ノードを構成するには、次のようにします。
TCPIPServerOutput ノードのターミナルについては、次の表に説明されています。
ターミナル | タイプ | 説明 |
---|---|---|
In | 入力データ | ノードが処理するメッセージを受け入れる入力ターミナル。 |
Close | 入力制御 | ローカル環境に与えられた接続が閉じる際に、メッセージがルーティングされる入力ターミナル。 |
Out | 出力データ | 外部リソースにメッセージが正常に送信された場合に、メッセージがルーティングされる出力ターミナル。 In ターミナルで受信されたメッセージは、Out ターミナルに伝搬され、状況情報の追加を除いて未変更のままになります。 |
Close | 出力制御 | Close 入力ターミナルから伝搬されるメッセージのルーティング先となる出力ターミナル。 |
Failure | 出力データ | ノード内で障害が検出された場合に、メッセージがルーティングされる出力ターミナル。 |
以下の表は、ノード・プロパティーについて説明しています。 M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力する必要がある場合、アスタリスクのマークが付きます)。C の見出しの列は、プロパティーが構成可能 (メッセージ・フローを BAR ファイルに追加してデプロイするとき、値を変更できる) かどうかを示します。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
ノード名 | いいえ | いいえ | TCPIPServerOutput | ノードの名前。 |
簡略説明 | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |
TCPIPServerOutput ノードの基本プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
接続の詳細 | はい | はい | 使用するポート番号、または構成可能サービスの名前を含むストリング。 | connectionDetails | |
データ・レコード送信タイムアウト (秒) | はい | はい | 60 | データ送信の試行時にノードが待機する期間を指定します。 秒単位の任意の時間の長さを指定できます。 | timeoutSendingData |
TCPIPServerOutput ノードの拡張プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
接続のクローズ | はい | いいえ | いいえ | 接続をいつ閉じるか、あるいは開いたままにするかを制御します。 有効なオプションは、以下のとおりです。
|
レコードの送信後に出力ストリームを閉じます。 | はい | いいえ | 選択されていない | データの送信後すぐに出力ストリームを閉じるかどうかを指定します。 デフォルトでは、このプロパティーは選択されていません。 |
出力ストリームの変更 | いいえ | いいえ | 変更しないでそのままにする | この出力ストリームを予約するか、それとも解放して、どの出力ノードでも使用されるようにプールに戻すかどうかを指定します。
有効なオプションは、以下のとおりです。
|
入力ストリームの変更 | いいえ | いいえ | 変更しないでそのままにする | 接続 ID を指定する入力ノードと受信ノードのみが使用するように入力ストリームを予約するかどうか、またはフローの終わりに入力ストリームを解放するかどうかを指定します。 有効なオプションは、以下のとおりです。
|
宛先: | はい | いいえ | 1 つの接続 | データを 1 つの接続に送信するか、それとも使用可能なすべての接続に送信するかを指定します。 有効なオプションは、以下のとおりです。
|
TCPIPServerOutput ノードの「要求」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
データのロケーション | はい | いいえ | $Body | 書き込まれるレコードを収容する入力メッセージ・ツリー内のロケーション。 |
ポートの場所 | はい | いいえ | $LocalEnvironment/Destination/TCPIP/Output/Port | ポートを含むメッセージ・エレメントの場所。 |
ID | はい | いいえ | $LocalEnvironment/Destination/TCPIP/Output/Id | ID を含むメッセージ・エレメントの場所。 |
返信用 ID の場所 | はい | いいえ | $LocalEnvironment/Destination/TCPIP/Output/ReplyId | 応答 ID を含むメッセージ・エレメントの場所。 |
TCPIPServerOutput ノードの「レコードおよびエレメント」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
レコード定義 | はい | いいえ | レコードは未変更データ | このプロパティーは、メッセージから派生するレコードをどのように書き込むかを制御します。 有効なオプションは、以下のとおりです。
|
長さ (バイト数) | はい | いいえ | 0 | 出力レコードの必要な長さ。 このプロパティーが適用されるのは、「レコード定義」が「レコードは固定長データ」に設定されている場合にのみです。 |
埋め込みバイト (16 進数) | はい | いいえ | 20 | 「レコード定義」が「レコードは固定長データ」に設定されている場合に、短メッセージの埋め込みに使用される 2 桁の 16 進数バイト。 |
区切り文字 | はい | いいえ | ブローカー・システムの行終了 | 「レコード定義」が「レコードは区切り文字で区切られたデータ」に設定されている場合に使用される区切り文字。 有効なオプションは、以下のとおりです。
|
カスタム区切り文字 (16 進数) | いいえ | いいえ | なし | 「レコード定義」が「レコードは区切り文字で区切られたデータ」に、および「区切り文字」が「カスタム区切り文字 (16 進数)」に設定されている場合に使用される、区切り文字バイトシーケンス。 |
区切り文字タイプ | はい | いいえ | 後置 | このプロパティーは、「レコード定義」が「レコードは区切り文字で区切られたデータ」に設定されている場合に、各レコードの間に区切り文字を挿入する方法を指定します。 有効なオプションは、以下のとおりです。
|
TCPIPServerOutput ノードの「妥当性検査」プロパティーについては、次の表に説明されています。
これらのプロパティーの詳細については、妥当性検査プロパティーを参照してください。
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
妥当性検査 | いいえ | はい | 継承 | このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は以下のとおりです。
|
validateMaster |
失敗時の処置 | いいえ | いいえ | 例外 | このプロパティーは、妥当性検査が失敗した場合の動作を制御します。 「妥当性検査」を「内容」または「内容と値」に設定した場合にのみ、このプロパティーを設定できます。 有効な値は以下のとおりです。
|
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
イベント | いいえ | いいえ | なし | ノードに対して定義したイベントが、このタブに表示されます。 デフォルトでは、メッセージ・フローのどのノードに対してもモニター・イベントは定義されません。 ノードのモニター・イベントを作成、変更、または削除するには、「追加」、「編集」、および「削除」を使用します。詳しくは、モニター・プロパティーを使用したモニター・イベント・ソースの構成を参照してください。 「使用可能」チェック・ボックスを選択またはクリアすることによって、ここに表示されているイベントを使用可能および使用不可に設定できます。 |