интеграция с spring 4.1.x канал против операции отправки шаблона сообщения

#spring-integration

#spring-интеграция

Вопрос:

В приложении Spring integration вы можете отправлять сообщения на канал различными способами. Два из них: вы можете использовать channel.send(сообщение) и MessageTemplate.convertAndSend (канал, сообщение).

Кто-нибудь может сказать мне, в чем разница и что рекомендуется? Что такое drwaback других?

Ответ №1:

Существует другой, более высокоуровневый способ отправки сообщения — @MessagingGateway , когда ваш исходный клиент полностью свободен от API обмена сообщениями.

С другой стороны, решать, что использовать в этом вопросе.

MessageChannel.send() API очень низкий и не обеспечивает такого большого контроля над сообщением.

MessagingTemplate Может быть настроен как компонент с некоторыми общими параметрами, такими как MessageConverter , который действительно используется вышеупомянутым convertAndSend() . Но, в конце концов, это, конечно, просто MessageChannel.send() .

Никаких рекомендаций нет, но MessagingTemplate они были введены для удобства.