Создать TCP-клиент для отправки и получения весной загрузки приложения - PullRequest
0 голосов
/ 14 мая 2019

Я должен взаимодействовать с унаследованной системой, где мне нужно настроить TCP-клиента, используя Spring-Integration в java / kotlin, чтобы отправить сообщение в систему TCP и получить его ответ, проанализировать этот ответ и отправить его другому клиенту через ОТДЫХ. Я просмотрел много документации и блогов, в которых рассказывается, как это сделать с помощью XML. Не в состоянии найти соответствующие аннотации для всего. Любой фрагмент кода будет очень полезным.

@Service
class MyService{

@Autowired
MyGateway gateway;

public String callTCPClient(String msg){
    return gateway.exchange(msg);
}

}
interface MyGateway{
String exchange (String msg)
}

1 Ответ

1 голос
/ 14 мая 2019

Как показано в этом ответе, вы можете делать все, что захотите после получения ответа ...

@Bean
public IntegrationFlow client() {
    return IntegrationFlows.from(MyGateway.class)
            .handle(Tcp.outboundGateway(
                Tcp.netClient("localhost", 1234)
                    .serializer(codec()) // default is CRLF
                    .deserializer(codec()))) // default is CRLF
            .transform(Transformers.objectToString()) // byte[] -> String
            .get();
}

В этом случае мы просто преобразуем байтовый массив в строку, но вы можетевыполнять любые операции с ним, например, JSON to Object.Вы можете добавить столько шагов, сколько хотите - добавьте элементы .handle(...) для вызова произвольных методов.Прочитайте справочное руководство Spring Integration .

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