#spring-integration
#spring-интеграция
Вопрос:
В приложении Spring integration вы можете отправлять сообщения на канал различными способами. Два из них: вы можете использовать channel.send(сообщение) и MessageTemplate.convertAndSend (канал, сообщение).
Кто-нибудь может сказать мне, в чем разница и что рекомендуется? Что такое drwaback других?
Ответ №1:
Существует другой, более высокоуровневый способ отправки сообщения — @MessagingGateway
, когда ваш исходный клиент полностью свободен от API обмена сообщениями.
С другой стороны, решать, что использовать в этом вопросе.
MessageChannel.send()
API очень низкий и не обеспечивает такого большого контроля над сообщением.
MessagingTemplate
Может быть настроен как компонент с некоторыми общими параметрами, такими как MessageConverter
, который действительно используется вышеупомянутым convertAndSend()
. Но, в конце концов, это, конечно, просто MessageChannel.send()
.
Никаких рекомендаций нет, но MessagingTemplate
они были введены для удобства.