IP 設定属性

次の表に、IP 接続を構成するために設定できる属性を示します。

表 1: 接続ファクトリの属性
属性名 クライアント ? サーバー ? 許容値 属性記述

type

Y

Y

クライアントサーバー

接続ファクトリがクライアントであるかサーバーであるかを決定します。

host

Y

N

宛先のホスト名または IP アドレス。

port

Y

Y

ポート。

serializer

Y

Y

ペイロードの直列化に使用される Serializer の実装。デフォルトは ByteArrayCrLfSerializer

deserializer

Y

Y

ペイロードの逆直列化に使用される Deserializer の実装。デフォルトは ByteArrayCrLfSerializer

using-nio

Y

Y

true, false

接続で NIO を使用するかどうか。詳細については、java.nio パッケージを参照してください。ノンブロッキング I/O について (NIO) を参照してください。デフォルト: false

using-direct-buffers

Y

N

true, false

NIO を使用する場合、接続がダイレクトバッファを使用するかどうか。詳細については、java.nio.ByteBuffer のドキュメントを参照してください。using-nio が false の場合は false でなければなりません。

apply-sequence

Y

Y

true, false

NIO を使用する場合、メッセージの順序を変更する必要がある場合があります。この属性を truecorrelationIdsequenceNumber に設定すると、受信したメッセージにヘッダーが追加されます。ノンブロッキング I/O について (NIO) を参照してください。デフォルト: false

so-timeout

Y

Y

single-use="true" のサーバー接続ファクトリを除き、デフォルトは 0 (無限大)です。その場合、デフォルトのデフォルトの応答タイムアウト(10 秒)になります。

so-send-buffer-size

Y

Y

java.net.Socket. setSendBufferSize() を参照してください。

so-receive-buffer-size

Y

Y

java.net.Socket. setReceiveBufferSize() を参照してください。

so-keep-alive

Y

Y

true, false

java.net.Socket.setKeepAlive() を参照してください。

so-linger

Y

Y

指定された値で linger を true に設定します。java.net.Socket.setSoLinger() を参照してください。

so-tcp-no-delay

Y

Y

true, false

java.net.Socket.setTcpNoDelay() を参照してください。

so-traffic-class

Y

Y

java.net.Socket. setTrafficClass() を参照してください。

local-address

N

Y

マルチホームシステムでは、ソケットがバインドされているインターフェースの IP アドレスを指定します。

task-executor

Y

Y

ソケット処理に使用される特定のエグゼキューターを指定します。指定しない場合、内部キャッシュスレッドエグゼキューターが使用されます。WorkManagerTaskExecutor など、特定のタスクエグゼキューターの使用を必要とする一部のプラットフォームで必要です。

single-use

Y

Y

true, false

接続を複数のメッセージに使用できるかどうかを指定します。true の場合、各メッセージに新しい接続が使用されます。

pool-size

N

N

この属性は使用されなくなりました。下位互換性のために、バックログを設定しますが、backlog を使用してサーバーファクトリで接続バックログを指定する必要があります。

backlog

N

Y

サーバーファクトリの接続バックログを設定します。

lookup-host

Y

Y

true, false

メッセージヘッダーで使用するホスト名に変換するために、IP アドレスで逆引きを行うかどうかを指定します。false の場合、代わりに IP アドレスが使用されます。デフォルト: false

interceptor-factory-chain

Y

Y

TCP 接続インターセプターを参照してください。

ssl-context-support

Y

Y

SSL/TLS Support を参照してください。

socket-factory-support

Y

Y

SSL/TLS Support を参照してください。

socket-support

Y

Y

SSL/TLS サポートを参照してください。

nio-connection-support

Y

Y

高度なテクニックを参照してください。

read-delay

Y

Y

長い> 0

前の試行がスレッド不足のために失敗した後、読み取りを再試行するまでの遅延(ミリ秒)。デフォルト: 100。using-nio が true の場合にのみ適用されます。

次の表は、UDP 受信チャネルアダプターを構成するために設定できる属性を示しています。

表 2: UDP 受信チャネルアダプターの属性
属性名 許容値 属性記述

port

アダプターがリッスンするポート。

multicast

true, false

UDP アダプターがマルチキャストを使用するかどうか。

multicast-address

マルチキャストが真の場合、アダプターが参加するマルチキャストアドレス。

pool-size

同時に処理できるパケットの数を指定します。task-executor が構成されていない場合にのみ適用されます。デフォルト: 5。

task-executor

ソケット処理に使用される特定のエグゼキューターを指定します。提供されない場合、内部のプールされたエグゼキューターが使用されます。WorkManagerTaskExecutor などの特定のタスクエグゼキューターの使用を必要とする一部のプラットフォームで必要です。スレッドの要件については、pool-size を参照してください。

receive-buffer-size

DatagramPackets を受信するために使用されるバッファーのサイズ。通常、最大伝送単位(MTU)サイズに設定されます。送信されたパケットのサイズよりも小さいバッファが使用される場合、切り捨てが発生する可能性があります。これは、check-length 属性を使用して検出できます。

check-length

true, false

UDP アダプターが、受信したパケットにデータ長フィールドを期待するかどうか。パケットの切り捨てを検出するために使用されます。

so-timeout

詳細については、java.net.DatagramSocket の setSoTimeout() メソッドを参照してください。

so-send-buffer-size

UDP 確認応答パケットに使用されます。詳細については、java.net.DatagramSocket の setSendBufferSize() メソッドを参照してください。

so-receive-buffer-size

詳細については、java.net.DatagramSocket.setReceiveBufferSize() を参照してください。

local-address

マルチホームシステムでは、ソケットがバインドされているインターフェースの IP アドレスを指定します。

error-channel

ダウンストリームコンポーネントが例外をスローすると、例外と失敗したメッセージを含む MessagingException メッセージがこのチャネルに送信されます。

lookup-host

true, false

メッセージヘッダーで使用するホスト名に変換するために、IP アドレスで逆引きを行うかどうかを指定します。false の場合、代わりに IP アドレスが使用されます。デフォルト: false

次の表は、UDP 送信チャネルアダプターを構成するために設定できる属性を示しています。

表 3: UDP 送信チャネルアダプターの属性
属性名 許容値 属性記述

host

宛先のホスト名または IP アドレス。マルチキャスト udp アダプターの場合、マルチキャストアドレス。

port

宛先のポート。

multicast

true, false

udp アダプターがマルチキャストを使用するかどうか。

acknowledge

true, false

UDP アダプターが宛先からの確認を必要とするかどうか。有効にすると、次の 4 つの属性を設定する必要があります: ack-hostack-portack-timeoutmin-acks-for- success

ack-host

acknowledge が true の場合、確認応答の送信先のホストまたは IP アドレスを示します。通常は現在のホストですが、異なる場合があります。たとえば、ネットワークアドレス変換(NAT)が使用されている場合です。

ack-port

acknowledge が true の場合、確認応答の送信先ポートを示します。アダプターは、このポートで確認を待機します。

ack-timeout

acknowledge が true の場合、アダプターが確認応答を待機する時間をミリ秒で示します。確認が時間内に受信されない場合、アダプターは例外をスローします。

min-acks-for- success

デフォルトは 1 です。マルチキャストアダプターの場合、これをより大きな値に設定できます。これには、複数の宛先からの確認が必要です。

check-length

true, false

UDP アダプターが宛先に送信されるパケットにデータ長フィールドを含めるかどうか。

time-to-live

マルチキャストアダプターの場合、MulticastSocket の存続時間属性を指定します。マルチキャストの範囲を制御します。詳細については、Java API のドキュメントを参照してください。

so-timeout

詳細については、java.net.DatagramSocket setSoTimeout() メソッドを参照してください。

so-send-buffer-size

詳細については、java.net.DatagramSocket の setSendBufferSize() メソッドを参照してください。

so-receive-buffer-size

UDP 確認応答パケットに使用されます。詳細については、java.net.DatagramSocket の setReceiveBufferSize() メソッドを参照してください。

local-address

マルチホームシステムで、UDP アダプターの場合、応答メッセージ用にソケットがバインドされているインターフェースの IP アドレスを指定します。マルチキャストアダプターの場合、マルチキャストパケットが送信されるインターフェースも決定します。

task-executor

確認応答の処理に使用する特定のエグゼキューターを指定します。提供されない場合、内部シングルスレッドエグゼキューターが使用されます。WorkManagerTaskExecutor など、特定のタスクエグゼキューターの使用を必要とする一部のプラットフォームで必要です。1 つのスレッドは、確認応答の処理専用です(acknowledge オプションが true の場合)。

destination-expression

SpEL 式

発信 UDP パケットの宛先アドレスとして使用する SocketAddress を決定するために評価される SpEL 式。

socket-expression

SpEL 式

発信 UDP パケットの送信に使用するデータグラムソケットを決定するために評価される SpEL 式。

次の表に、TCP 受信チャネルアダプターを構成するために設定できる属性を示します。

表 4: TCP 受信チャネルアダプターの属性
属性名 許容値 属性記述

channel

受信メッセージが送信されるチャネル。

connection-factory

接続ファクトリの型が server である場合、ファクトリはこのアダプターによって「所有」されます。型が client の場合、送信チャネルアダプターによって「所有」され、このアダプターは送信アダプターによって作成された接続で受信メッセージを受信します。

error-channel

ダウンストリームコンポーネントによって例外がスローされると、例外と失敗したメッセージを含む MessagingException メッセージがこのチャネルに送信されます。

client-mode

true, false

true の場合、受信アダプターは、接続の確立に関してクライアントとして機能し、その接続で受信メッセージを受信します。デフォルト: false retry-interval および scheduler も参照してください。接続ファクトリは、型 client であり、single-use を false に設定する必要があります。

retry-interval

client-mode の場合、接続試行間または接続障害後に待機するミリ秒数を指定します。デフォルト: 60000 (60 秒)。

scheduler

true, false

client-mode 接続の管理に使用する TaskScheduler を指定します。指定しない場合、デフォルトはグローバル Spring Integration taskScheduler Bean になり、デフォルトのプールサイズは 10 です。タスクスケジューラの構成を参照してください。

次の表に、TCP 送信チャネルアダプターを構成するために設定できる属性を示します。

表 5: TCP 送信チャネルアダプターの属性
属性名 許容値 属性記述

channel

送信メッセージが到着するチャネル。

connection-factory

接続ファクトリの型が client である場合、ファクトリはこのアダプターによって「所有」されます。型が server の場合、受信チャネルアダプターによって「所有」され、このアダプターは、元の受信メッセージが受信された接続にメッセージを関連付けようとします。

client-mode

true, false

true の場合、送信アダプターは、開始されるとすぐに接続を確立しようとします。false の場合、最初のメッセージが送信されたときに接続が確立されます。デフォルト: false retry-interval および scheduler も参照してください。接続ファクトリは型 client であり、single-use を false に設定する必要があります。

retry-interval

client-mode の場合、接続試行間または接続障害後に待機するミリ秒数を指定します。デフォルト: 60000 (60 秒)。

scheduler

true, false

client-mode 接続の管理に使用する TaskScheduler を指定します。指定しない場合、デフォルトはグローバル Spring Integration taskScheduler Bean になり、デフォルトのプールサイズは 10 です。タスクスケジューラの構成を参照してください。

次の表に、TCP 受信ゲートウェイを構成するために設定できる属性を示します。

表 6: TCP 受信ゲートウェイの属性
属性名 許容値 属性記述

connection-factory

接続ファクトリは型サーバーでなければなりません。

request-channel

受信メッセージが送信されるチャネル。

reply-channel

応答メッセージが到着するチャネル。通常、返信は受信メッセージヘッダーに追加された一時的な返信チャネルに到着します。

reply-timeout

ゲートウェイが応答を待機する時間(ミリ秒)。デフォルト: 1000 (1 秒)。

error-channel

ダウンストリームコンポーネントによって例外がスローされると、例外と失敗したメッセージを含む MessagingException メッセージがこのチャネルに送信されます。そのフローからのレスポンスは、ゲートウェイによってレスポンスとして返されます。

client-mode

true, false

true の場合、受信ゲートウェイは、接続の確立と、その接続での受信メッセージの受信(および応答)に関してクライアントとして機能します。デフォルト: false。retry-interval および scheduler も参照してください。接続ファクトリは型 client であり、single-use を false に設定する必要があります。

retry-interval

client-mode の場合、接続試行間または接続障害後に待機するミリ秒数を指定します。デフォルト: 60000 (60 秒)。

scheduler

true, false

client-mode 接続の管理に使用する TaskScheduler を指定します。指定しない場合、デフォルトはグローバル Spring Integration taskScheduler Bean になり、デフォルトのプールサイズは 10 です。タスクスケジューラの構成を参照してください。

次の表に、TCP 送信ゲートウェイを構成するために設定できる属性を示します。

表 7: TCP 送信ゲートウェイ属性
属性名 許容値 属性記述

connection-factory

接続ファクトリは、型 client でなければなりません。

request-channel

発信メッセージが到着するチャネル。

reply-channel

オプション。応答メッセージが送信されるチャネル。

remote-timeout

ゲートウェイがリモートシステムからの応答を待機する時間(ミリ秒)。remote-timeout-expression と相互に排他的です。デフォルト: 10000 (10 秒)。注: 4.2 より前のバージョンでは、この値のデフォルトは reply-timeout (設定されている場合)でした。

remote-timeout-expression

ゲートウェイがリモートシステムからの応答を待機する時間をミリ秒で決定するためにメッセージに対して評価される SpEL 式。remote-timeout と相互に排他的。

request-timeout

使い捨ての接続ファクトリが使用されていない場合、ゲートウェイが共有接続へのアクセスを待機する時間(ミリ秒単位)。

reply-timeout

応答チャネルに応答を送信するときにゲートウェイが待機する時間(ミリ秒)。応答チャネルがブロックする可能性がある場合にのみ適用されます(現在いっぱいの境界付き QueueChannel など)。

async

送信後に送信スレッドを解放します。応答(またはエラー)は受信スレッドで送信されます。

unsolicited MessageChannel

未承諾メッセージと遅延応答を送信するチャネル。