Spring интеграция запросов / ответов по TCP / IP - без JMS - PullRequest
3 голосов
/ 29 февраля 2012

Я новичок в Spring-интеграции и хочу понять, как реализовать следующий сценарий с помощью Spring Integration.

Я пытаюсь создать распределенное приложение, которое будет иметь несколько узлов (как в кластере) сследующие требования.

-Мне нужно реализовать обмен сообщениями на основе запросов / ответов по TCP / IP.
не хочу использовать посредник сообщений (например, ActiveMQ).
-Я планирую использовать входящие и исходящие шлюзы TCP, предоставляемые SI.

Я не уверен, как SI может помочь мне достичь следующего
- Как будет работать корреляция запроса / ответа, когда несколько клиентов подключаются к одному TCP-inbound-gateway на стороне сервера?
- Я понимаю, что при отправке сообщения через TCP / IP заголовки сообщения удаляются, каков обходной путь?
- Этот подход вообще работает?: (

Спасибо
Sandip

1 Ответ

6 голосов
/ 29 февраля 2012

Если вы используете шлюзы, фреймворк позаботится о корреляции для вас.

Вот пример, который показывает это здесь ...

https://github.com/SpringSource/spring-integration-samples

(см. Basic / tcp-client-server).

В справочном руководстве обсуждается корреляция сообщений ...

http://static.springsource.org/spring-integration/docs/2.1.0.RELEASE/reference/html/ip.html#ip-correlation

Если вам нужно использовать адаптеры вместо шлюзов (потому что вам нужен асинхронный обмен сообщениями или вы не можете жить с некоторыми ограничениями производительности шлюзов), вам нужно добавить данные корреляции в полезную нагрузку сообщения.

У нас есть открытый выпуск JIRA

https://jira.springsource.org/browse/INT-1807

, чтобы разрешить транспортировку некоторых заголовков по TCP. Однако, поскольку не существует естественного стандартного способа сделать это, он, вероятно, будет применим только для обмена данными между SI и SI (или потребует пользовательский код на одноранговом узле). Скорее всего, это будет в 2.2. веха скоро. Проголосуйте!

Надеюсь, это поможет.

ОБНОВЛЕНИЕ: выпуск 3.0 поддерживает добавление выбранных заголовков в сообщение TCP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...