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

Joh*_*han 1 java rabbitmq micronaut

Micronaut 1.0.0刚刚发布(2018年10月25日)及其对RabbitMQ的文档,它似乎并没有说如何实际消耗或发布消息.它只是说您可以使用以下方法创建项目支持RabbitMQ:

mn create-app my-app --features rabbitmq
Run Code Online (Sandbox Code Playgroud)

但是一旦完成,唯一感兴趣的就是Application类:

import io.micronaut.runtime.Micronaut;

public class Application {

    public static void main(String[] args) {
        Micronaut.run(Application.class);
    }
}
Run Code Online (Sandbox Code Playgroud)

和一些yaml配置:

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

---
rabbitmq:
    uri: amqp://user:pass@host:10000/vhost
    requestedFrameMax: 10
    requestedChannelMax: 10
    connectionTimeout: 5000
Run Code Online (Sandbox Code Playgroud)

但是,如何使用Micronaut实际开始使用RabbitMQ消费和发布消息?

Jam*_*eeh 5

目前RabbitMQ支持非常少.为您提供的是能够使用微型环境配置ConnectionFactory.

"将根据rabbitmq配置键下提供的配置值提供RabbitMQ连接工厂bean.可以配置ConnectionFactory上的所有setter方法."

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

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