如何使用 Micronaut 和 RabbitMQ 消费和发布消息?

How consume and publish messages with Micronaut and RabbitMQ?

Micronaut 1.0.0 has just been released (2018-10-25) and in its documentation for RabbitMQ 好像没有说如何实际消费或发布消息。它只是说您可以使用以下方法创建一个支持 RabbitMQ 的项目:

mn create-app my-app --features rabbitmq

但是一旦完成,唯一感兴趣的是生成 Application class:

import io.micronaut.runtime.Micronaut;

public class Application {

    public static void main(String[] args) {
        Micronaut.run(Application.class);
    }
}

和一些yaml配置:

---
micronaut:
    application:
        name: my-app

---
rabbitmq:
    uri: amqp://user:pass@host:10000/vhost
    requestedFrameMax: 10
    requestedChannelMax: 10
    connectionTimeout: 5000

但是我怎样才能真正开始使用 Micronaut 使用 RabbitMQ 消费和发布消息呢?

目前对 RabbitMQ 的支持非常少。为您提供的是使用 micronaut 环境配置 ConnectionFactory 的能力。

"A RabbitMQ connection factory bean will be provided based on the configuration values supplied under the rabbitmq configuration key. All setter methods on ConnectionFactory are available to be configured."

然后由您根据 rabbitmq 文档使用连接工厂 https://www.rabbitmq.com/api-guide.html

更好地支持 RabbitMQ(类似于 Kafka)是 Micronaut 1.1.0 的一个高优先级。