Любой метод с возвращаемым значением void
не может вернуть данные. В вашем случае вам придется использовать какой-то другой механизм для передачи сообщения другому потоку для использования. Возможно, используйте ConcurrentQueue
.
В целом, однако, люди выполняют ту работу, которую им необходимо выполнить в рамках обратного вызова, чтобы не возвращать само сообщение.
В версии 6.0.0
библиотеки вам нужно будет скопировать байтов сообщения, если вы используете его вне обратного вызова. В противном случае память, поддерживающая сообщение, будет использоваться повторно.
ПРИМЕЧАНИЕ: команда RabbitMQ контролирует список рассылки rabbitmq-users
и только иногда отвечает на вопросы по StackOverflow.