Весенняя интеграция. Фабрика TCP-серверов

#tcp #spring-integration

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

Вопрос:

вероятно, это простой способ сделать,

Чего я хочу, так это: у меня есть tcp-сервер, который прослушивает входящее соединение. Я хотел бы каким-то образом получать информацию о подключении клиента. TcpNetServerConnectionFactory имеет внутри такую информацию «Принятое соединение …».

Существует класс TcpConnectionSupport, однако я не могу найти способ его использования. Я ищу что-то похожее на шаблон подписчика.

Есть ли какой-нибудь способ сделать это?

Комментарии:

1. Я, честно говоря, понятия не имею, о чем вы спрашиваете. Не могли бы вы опубликовать проделанную вами работу, например, код вашего tcp-сервера. Какие компоненты вы используете для интеграции с Spring? Spring — довольно большой проект, какие части spring вы используете?

Ответ №1:

С одной стороны, неясно, как вы хотите реализовать subscriber pattern , если это готовая функция Spring Integration <int-ip:tcp-inbound-channel-adapter connection-factory="connectionFactory"/> . Когда новое соединение от клиента установлено и клиент начинает отправлять данные, этот компонент будет готов принять их и преобразовать в message channel поток для дальнейшей интеграции.

С другой стороны, есть ApplicationEvent инфраструктура, и когда соединение открыто, TcpNetServerConnectionFactory оно выдает TcpConnectionOpenEvent . Вы можете прослушать это событие с помощью <int-event:inbound-channel-adapter event-types="org.springframework.integration.ip.tcp.connection.TcpConnectionOpenEvent"/> . И снова: это будет поток сообщений.