AMQP - асинхронный RPC - фьючерс на возврат значения приводит к «неожиданному возвращаемому значению» - PullRequest
0 голосов
/ 15 января 2019

Я хотел бы выполнить асинхронную связь в стиле RPC. Я использую AMQP RabbitMQ для этой цели: я отправляю свое сообщение, используя AsyncRabbitTemplate, определяя тип возврата как List типа myObj и устанавливая callback для обработки ответа или сбоя, пока что нет проблемы. Проблема заключается в следующем: я хочу вернуть свой ответ, но в среде IDE указано «неожиданное возвращаемое значение».

public List<myObj> call()
{
    AsyncRabbitTemplate.RabbitConverterFuture<List<myObj>> future = asyncRabbitTemplate.convertSendAndReceive(message.getBytes());

    future.addCallback(
            reply -> { return reply; } // <-- "unexpected return value"
            t -> System.out.println(t.getMessage());
    );
}

Что не так? Как мне интерпретировать это сообщение? Что-то не так концептуально?

...