MessageHeaders可以包含replyChannel
类型值Object
的密钥。我知道在我的自定义端点中,我可以使用此标头,但我认为replyChannel
标头有一些默认含义。请在使用replyChannel
标题时向我解释。
答案 0 :(得分:0)
对于大多数应用程序,通常不需要操纵replyChannel
标头。框架需要将回复路由到以各种类型的入站网关开始的基于请求 - 回复的流。高级流可能会将回复通道设置为通道或通道名称,但如果它们是来自网关(或MessagingTemplate
)的请求/回复,则最终必须恢复原始标头。
只要以编程方式或在网关内使用MessagingTemplate
消息,就会由*sendAndReceive()
设置。
目前,它不可序列化(您无法在流中保留消息),因为它是发送线程期望找到回复的“实时”Java对象实例。即使您通过将回复发送到网关上的reply-channel
来回复网关,情况仍然如此;网关上的回复通道桥接到标题通道。
即将发布的3.0版本有一个new feature,允许注册标题通道并用字符串替换它们以便序列化,框架将根据需要从注册表中恢复它们。