MessagingTemplate
當介紹端點及其各種設定選項時,Spring Integration 為訊息傳遞組件提供基礎,使您的應用程式碼能夠從訊息傳遞系統進行非侵入式調用。但是,有時需要從您的應用程式碼調用訊息傳遞系統。為了方便實作此類用例,Spring Integration 提供了 MessagingTemplate
,它支援跨訊息通道的各種操作,包括請求和回覆情境。例如,可以發送請求並等待回覆,如下所示
MessagingTemplate template = new MessagingTemplate();
Message reply = template.sendAndReceive(someChannel, new GenericMessage("test"));
在前面的範例中,範本會在內部建立一個臨時的匿名通道。範本上也可以設定 'sendTimeout' 和 'receiveTimeout' 屬性,並且也支援其他交換類型。以下列表顯示了此類方法的簽章
public boolean send(final MessageChannel channel, final Message<?> message) { ...
}
public Message<?> sendAndReceive(final MessageChannel channel, final Message<?> request) { ...
}
public Message<?> receive(final PollableChannel<?> channel) { ...
}
在 進入 GatewayProxyFactoryBean 中描述了一種侵入性較低的方法,可讓您使用有效負載或標頭值而不是 Message 實例來調用簡單介面。 |