IP 消息头
此模块使用以下 MessageHeader
实例:
Header 名称 | IpHeaders 常量 | 描述 |
---|---|---|
ip_hostname | HOSTNAME | 收到 TCP 消息或 UDP 数据包的主机名。如果 lookupHost 为 false ,则包含 IP 地址。 |
ip_address | IP_ADDRESS | 收到 TCP 消息或 UDP 数据包的 IP 地址。 |
ip_port | PORT | UDP 数据包的远程端口。 |
ip_localInetAddress | IP_LOCAL_ADDRESS | 套接字连接的本地 InetAddress (自版本 4.2.5 起)。 |
ip_ackTo | ACKADDRESS | 发送 UDP 应用程序级别的确认信息的远程 IP 地址。框架在数据包中包含确认信息。 |
ip_ackId | ACK_ID | UDP 应用程序级别的确认信息的相关 ID。框架在数据包中包含确认信息。 |
ip_tcp_remotePort | REMOTE_PORT | TCP 连接的远程端口。 |
ip_connectionId | CONNECTION_ID | TCP 连接的唯一标识符。由框架为入站消息设置。当发送到服务器端入站通道适配器或回复入站网关时,此标头是必需的,以便端点可以确定要发送消息的连接。 |
ip_actualConnectionId | ACTUAL_CONNECTION_ID | 仅用于信息。当使用缓存或故障切换客户端连接工厂时,它包含实际的基础连接 ID。 |
contentType | MessageHeaders. CONTENT_TYPE | 入站消息的可选内容类型,在此表之后描述。请注意,与其他标头常量不同,此常量位于 MessageHeaders 类中,而不是 IpHeaders 类中。 |
对于入站消息,默认的 TcpHeaderMapper
会映射 ip_hostname
、ip_address
、ip_tcp_remotePort
和 ip_connectionId
。如果你将映射器的 addContentTypeHeader
属性设置为 true
,映射器会设置 contentType
头(默认为 application/octet-stream;charset="UTF-8"
)。你可以通过设置 contentType
属性来更改默认值。你可以通过继承 TcpHeaderMapper
并覆盖 supplyCustomHeaders
方法来添加额外的头信息。例如,在使用 SSL 时,你可以通过从作为 supplyCustomHeaders
方法参数提供的 TcpConnection
对象中获取会话对象来添加 SSLSession
的属性。
对于出站消息,String
类型的有效负载会使用默认的 (UTF-8
) 字符集转换为 byte[]
。设置 charset
属性可以更改默认字符集。
在自定义映射器属性或子类化时,将映射器声明为一个 bean,并通过使用 mapper
属性提供一个实例给连接工厂。