Привет всем и всем. Я работаю над приложением Spring Boot. Здесь моя проблема. У меня есть Spring RestController с пост-отображением, которое принимает некоторые данные. Затем мне нужно отправить эти данные через RabbitMQ в другое приложение, которое, в свою очередь, выполнит некоторые вычисления с этими данными, а затем отправит их мне, которые затем я хочу вернуть пользователю.
Я знаю, что RabbitMQ для асинхронной связи c. Но мне нужен мой контроллер, чтобы вернуть результат, который возвращается из RabbitMQ, в одном go. Прямо сейчас я использую.
@EnableBinding(Sink::class)
class OptimizedScheduleMessageListener {
@StreamListener(Sink.INPUT)
fun handler(incomingMessage: MyDTO) {
println(incomingMessage)
}
}
для получения результатов из RabbitMQ. Теперь мне просто нужен мой контроллер, чтобы вернуть его.
@PostMapping( produces = ["application/json"])
fun retrieveOptimizedSchedule: Result<MyDTO> {
myUncalculatedDTO: MyDTO()
source.output().send(MessageBuilder.withPayload(myUncalculadeDTO).build())
return ???
}
Любая помощь в этом деле очень ценится.
Заранее спасибо.