<mark>此插件，主要社区贡献人（浅念）</mark>

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

#### 1、描述

分布式扩展插件。在 solon-cloud 插件的基础上，添加基于实体的事件处理方式。算是 Solon Cloud Event 使用接口的一种增强包装，**使用时必须引入具体的 Solon Cloud Event 插件为基础**。有两种小好处：

* 使用基于实类型实体操作
* 事件主题名的只需要标注在实体类上（就此一处）


#### 2、使用示例

定义事件实体

```java
//
//只需要在实体上关联主题，其它处不再出现主题
//
@CloudEvent("user.create.event")
public class UserCreatedEvent implements CloudEventEntity {
    public long userId;
}
```

订阅事件实体

```java
//用代理模式订阅（。实体已声明主题相关信息）
@CloudEventSubscribe
public class UserCreatedEventHandler implements CloudEventHandlerPlus<UserCreatedEvent> {
    @Override
    public boolean handler(UserCreatedEvent event) throws Throwable {
        //业务处理
        return false;
    }
}


//或者，用类函数模式订阅
@Component
public class EventSubscriber{
    @CloudEventSubscribe
    public boolean onUserCreatedEvent(UserCreatedEvent event){
        //处理业务
        return false;
    }
}
```

发布事件实体

```java
UserCreatedEvent event = new UserCreatedEvent();
event.userId  =1212;

//发布
event.publish();
```