IP 配置屬性
表 1. 連線工廠屬性
| 屬性名稱 |
客戶端? |
伺服器? |
允許值 |
屬性描述 |
型別
|
是 |
是 |
client, server |
確定連線工廠是客戶端還是伺服器。 |
host
|
是 |
否 |
|
目標的 Host Name 或 IP 地址。 |
port
|
是 |
是 |
|
埠。 |
serializer
|
是 |
是 |
|
Serializer 的實現,用於序列化 payload。預設為 ByteArrayCrLfSerializer
|
deserializer
|
是 |
是 |
|
Deserializer 的實現,用於反序列化 payload。預設為 ByteArrayCrLfSerializer
|
using-nio
|
是 |
是 |
true, false
|
連線是否使用 NIO。有關更多資訊,請參閱 java.nio 包。請參閱 關於非阻塞 I/O (NIO)。預設值:false。 |
using-direct-buffers
|
是 |
否 |
true, false
|
使用 NIO 時,連線是否使用直接緩衝區。有關更多資訊,請參閱 java.nio.ByteBuffer 文件。如果 using-nio 為 false,則必須為 false。 |
apply-sequence
|
是 |
是 |
true, false
|
使用 NIO 時,可能需要對訊息進行重新排序。當此屬性設定為 true 時,會將 correlationId 和 sequenceNumber 標頭新增到接收到的訊息中。請參閱 關於非阻塞 I/O (NIO)。預設值:false。 |
so-timeout
|
是 |
是 |
|
預設值為 0(無限),但 single-use="true" 的伺服器連線工廠除外。在這種情況下,它預設為預設回覆超時(10 秒)。 |
so-send-buffer-size
|
是 |
是 |
|
請參閱 java.net.Socket. setSendBufferSize()。 |
so-receive-buffer-size
|
是 |
是 |
|
請參閱 java.net.Socket. setReceiveBufferSize()。 |
so-keep-alive
|
是 |
是 |
true, false
|
請參閱 java.net.Socket.setKeepAlive()。 |
so-linger
|
是 |
是 |
|
將 linger 設定為 true 並提供的值。請參閱 java.net.Socket.setSoLinger()。 |
so-tcp-no-delay
|
是 |
是 |
true, false
|
請參閱 java.net.Socket.setTcpNoDelay()。 |
so-traffic-class
|
是 |
是 |
|
請參閱 java.net.Socket. setTrafficClass()。 |
local-address
|
否 |
是 |
|
在多宿主系統上,為套接字繫結的介面指定一個 IP 地址。 |
task-executor
|
是 |
是 |
|
指定用於套接字處理的特定執行器。如果未提供,則使用內部快取執行緒執行器。在某些需要使用特定任務執行器(例如 WorkManagerTaskExecutor)的平臺上需要。 |
single-use
|
是 |
是 |
true, false
|
指定連線是否可用於多條訊息。如果為 true,則每條訊息都使用新連線。 |
pool-size
|
否 |
否 |
|
此屬性不再使用。為了向後相容,它設定積壓量,但您應該使用 backlog 在伺服器工廠中指定連線積壓量。 |
backlog
|
否 |
是 |
|
為伺服器工廠設定連線積壓量。 |
lookup-host
|
是 |
是 |
true, false
|
指定是否對 IP 地址執行反向查詢以轉換為 Host Name,以便在訊息頭中使用。如果為 false,則改用 IP 地址。預設值:false。 |
interceptor-factory-chain
|
是 |
是 |
|
請參閱 TCP 連線攔截器。 |
ssl-context-support
|
是 |
是 |
|
請參閱 SSL/TLS 支援。 |
socket-factory-support
|
是 |
是 |
|
請參閱 SSL/TLS 支援。 |
socket-support
|
是 |
是 |
|
請參閱 SSL/TLS 支援。 |
nio-connection-support
|
是 |
是 |
|
請參閱 高階技術。 |
read-delay
|
是 |
是 |
long > 0 |
在上次嘗試因執行緒不足而失敗後,重試讀取之前的延遲(以毫秒為單位)。預設值:100。僅在 using-nio 為 true 時適用。 |
下表描述了可用於配置 UDP 入站通道介面卡的屬性
表 2. UDP 入站通道介面卡屬性
| 屬性名稱 |
允許值 |
屬性描述 |
port
|
|
介面卡偵聽的埠。 |
multicast
|
true, false
|
UDP 介面卡是否使用多播。 |
multicast-address
|
|
當 multicast 為 true 時,介面卡加入的多播地址。 |
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 地址執行反向查詢以轉換為 Host Name,以便在訊息頭中使用。如果為 false,則改用 IP 地址。預設值:false。 |
下表描述了可用於配置 UDP 出站通道介面卡的屬性
表 3. UDP 出站通道介面卡屬性
| 屬性名稱 |
允許值 |
屬性描述 |
host
|
|
目標的 Host Name 或 IP 地址。對於多播 UDP 介面卡,是多播地址。 |
port
|
|
目標埠。 |
multicast
|
true, false
|
UDP 介面卡是否使用多播。 |
acknowledge
|
true, false
|
UDP 介面卡是否需要目標端的確認。啟用後,需要設定以下四個屬性:ack-host、ack-port、ack-timeout 和 min-acks-for-success。 |
ack-host
|
|
當 acknowledge 為 true 時,指示應將確認傳送到的 Host Name 或 IP 地址。通常是當前主機,但可能不同——例如,在使用網路地址轉換 (NAT) 時。 |
ack-port
|
|
當 acknowledge 為 true 時,指示應將確認傳送到的埠。介面卡在此埠上偵聽確認。 |
ack-timeout
|
|
當 acknowledge 為 true 時,指示介面卡等待確認的毫秒數。如果未及時收到確認,介面卡將丟擲異常。 |
min-acks-for- success
|
|
預設為 1。對於多播介面卡,您可以將其設定為更大的值,這需要來自多個目標的確認。 |
check-length
|
true, false
|
UDP 介面卡是否在傳送到目標的資料包中包含資料長度欄位。 |
time-to-live
|
|
對於多播介面卡,指定 MulticastSocket 的 time-to-live 屬性。控制多播的範圍。有關更多資訊,請參閱 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)的平臺上需要。一個執行緒專門用於處理確認(如果 acknowledge 選項為 true)。 |
destination-expression
|
SpEL 表示式 |
一個 SpEL 表示式,用於確定將哪個 SocketAddress 用作傳出 UDP 包的目標地址。 |
socket-expression
|
SpEL 表示式 |
一個 SpEL 表示式,用於確定使用哪個資料報套接字傳送傳出 UDP 包。 |
下表描述了可用於配置 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。請參閱 配置任務排程器。 |
表 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。請參閱 配置任務排程器。 |
表 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
|
|
閘道器將回復發送到回覆通道時等待的毫秒數。僅當回覆通道可能阻塞時(例如當前已滿的有界佇列通道)適用。 |
async
|
|
傳送後釋放傳送執行緒;回覆(或錯誤)將在接收執行緒上傳送。 |
unsolicited MessageChannel
|
|
用於傳送未經請求的訊息和延遲迴復的通道。 |
© .
This site is unofficial and not affiliated with VMware.