```xml
<dependency>
    <groupId>org.noear</groupId>
    <artifactId>rocketmq5-solon-cloud-plugin</artifactId>
</dependency>
```


#### 1、描述

分布式扩展插件。基于 rocketmq5 client 适配的 solon cloud 插件。提供事件总线服务。



#### 2、能力支持

| 云端能力接口 | 说明 | 备注 |
| -------- | -------- | -------- |
| CloudEventService        | 云端事件服务	            | 不支持 namespace；支持 group     |



#### 3、配置示例

* 简单配置

```yml
solon.app:
  group: demo       #配置服务使用的默认组
  name: helloapp    #发现服务使用的应用名

solon.cloud.rocketmq.event:
  server: localhost:8080   #rocketmq服务地址
  accessKey: aaa
  secretKey: bbb
```

* 更多可选配置

```yml
solon.app:
  group: demo       #配置服务使用的默认组
  name: helloapp    #发现服务使用的应用名

solon.cloud.rocketmq.event:
  channel: "biz" #多个 soon cloud event 插件同用时，才有用
  server: "localhost:9876" #rocketmq服务地址
  accessKey: "LTAI5t6tC2**********"  
  secretKey: "MLaRt1yTRdfzt2***********" 
  publishTimeout: "3000" #消息发布超时（单位：ms）
  consumerGroup: "${solon.app.group}_${solon.app.name}" #消费组
  consumeThreadNums: 0 #消费线程数，0表示默认
  maxReconsumeTimes: 0 #消费消息失败的最大重试次数，0表示默认
  producerGroup: "DEFAULT" #生产组
```

#### 4、应用示例

```java
//订阅
@CloudEvent(topic="hello.demo2", group = "test")
public class EVENT_hello_demo2 implements CloudEventHandler {
    @Override
    public boolean handle(Event event) throws Throwable {
        System.out.println(LocalDateTime.now() + ONode.stringify(event));
        return true;
    }
}

//发布（找个地方安放一下）
Event event = new Event("hello.demo2", msg).group("test");
return CloudClient.event().publish(event);
```

#### 5、演示项目

* [https://gitee.com/noear/solon-examples/tree/main/9.Solon-Cloud/demo9032-event_rocketmq5](https://gitee.com/noear/solon-examples/tree/main/9.Solon-Cloud/demo9032-event_rocketmq5)
