Solon

solon.cloud.eventplus

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

1、描述

分布式扩展插件。在 solon.cloud 插件的基础上,添加基于实体的事件处理方式。

2、使用示例

定义事件实体

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

订阅事件实体

//用代理模式订阅(。实体已申明主题相关信息)
@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;
    }
}

发布事件实体

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

//发布
event.publish();