此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.4.3spring-doc.cadn.net.cn

MessagingTemplate

当引入端点及其各种配置选项时, Spring 集成为消息传递组件提供了一个基础,该组件支持从消息传递系统非侵入性地调用应用程序代码。 但是,有时需要从应用程序代码中调用消息传送系统。 为了方便实现此类用例, Spring 集成提供了一个MessagingTemplate支持跨消息通道的各种作,包括请求和回复场景。 例如,可以发送请求并等待回复,如下所示:spring-doc.cadn.net.cn

MessagingTemplate template = new MessagingTemplate();

Message reply = template.sendAndReceive(someChannel, new GenericMessage("test"));

在前面的示例中,模板将在内部创建一个临时匿名通道。 还可以在模板上设置 'sendTimeout' 和 'receiveTimeout' 属性,并且还支持其他交换类型。 下面的清单显示了此类方法的签名:spring-doc.cadn.net.cn

public boolean send(final MessageChannel channel, final Message<?> message) { ...
}

public Message<?> sendAndReceive(final MessageChannel channel, final Message<?> request) { ...
}

public Message<?> receive(final PollableChannel<?> channel) { ...
}
一种侵入性较小的方法,允许您使用 payload 或 header 值调用简单的接口,而不是Message实例在输入GatewayProxyFactoryBean.