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.