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 属性提供一个实例给连接工厂。