iohao / ioGame

无锁异步化、事件驱动架构设计的 java netty 网络编程框架; 轻量级,无需依赖任何第三方中间件或数据库就能支持集群、分布式; 适用于网络游戏服务器、物联网、内部系统及各种需要长连接的场景; 通过 ioGame 你可以很容易的搭建出一个集群无中心节点、集群自动化、分布式的网络服务器;FXGL、Unity、UE、Cocos Creator、Godot、Netty、Protobuf、webSocket、tcp、socket;java Netty 游戏服务器框架;

Home Page:http://game.iohao.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

领域事件使用

molin7596 opened this issue · comments

// 事件消费完后 - 事件停止
 domainEventContext.stop();

不停止会怎么样

或者这样使用 可以吗?

@Component
public class DomainEventConfig {

    static DomainEventContext domainEventContext;

    @PostConstruct
    public void startup() {
        // 领域事件上下文参数
        DomainEventContextParam contextParam = new DomainEventContextParam();

        Set<DomainEventHandler<?>> eventHandlerSet = scanEventHandler(DomainEventHandler.class);
        for (DomainEventHandler<?> eventHandler : eventHandlerSet) {
            contextParam.addEventHandler(eventHandler);
        }

        domainEventContext = new DomainEventContext(contextParam);
        domainEventContext.startup();
    }

    @PreDestroy
    public void stop() {
        domainEventContext.stop();
    }

    public static Set<DomainEventHandler<?>> scanEventHandler(Class<?> clazz) {
        Set<DomainEventHandler<?>> handlerSet = new HashSet<>();
        //获取bean
        Map<String, ?> handlerMap = SpringUtil.getBeansOfType(clazz);
        handlerMap.forEach((k, v) -> {
            handlerSet.add((DomainEventHandler<?>) v);
        });
        return handlerSet;
    }

}

不停止也没什么影响。

ok