Я начал изучать Spring Web Flux. Мое текущее требование использовать Spring Web Flux с AMQP в моем проекте. В этом проекте используется rabbitmq Publi sh -Подписка для обмена сообщениями AMQP, и проект не имеет веб-зависимости. Этот проект будет работать исключительно на стороне сервера.
Ниже приведен мой демонстрационный файл сервиса с rabbit-listener. Этот сервис получает необходимые данные в полезную нагрузку сообщения, а затем сервис обрабатывает их в соответствии с данными полезной нагрузки и выполняет необходимую задачу.
public class HandlerService {
@RabbitListener(queues = "${amqp.queue}")
public void consumeMessageFromDlrRoute(final Message<?> message)
{
System.out.println(" message - "+message);
try {
ByteArrayInputStream in = new ByteArrayInputStream((byte[]) message.getPayload());
ObjectInputStream is = new ObjectInputStream(in);
MyDomain domain = (MyDomain) is.readObject();
// code changes related to this service.
}
catch(Exception e) {
e.printStackTrace();
}
}
}
Итак Для преобразования этого проекта в потоки webflux / rective с помощью AMQP я отослал эту статью https://www.baeldung.com/spring-amqp-reactive и многие другие проекты на github. Все источники говорят об использовании типов Mono и Flux с веб-зависимостью и получении необходимых данных из конечных точек web / REST, а затем манипулируют ими, где, как и в моем проекте, я получаю массив байтов данных в полезной нагрузке сообщения AMQP.
Вы можете найти демонстрационную версию моего текущего проекта по этому вопросу - https://github.com/gotidhavalh/amqpdemo
Итак, мой вопрос заключается в том, как я могу преобразовать этот мой проект в использование реактивного потока / пружины веб-потока? Может ли кто-нибудь помочь в этом. Любая помощь будет оценена.