美文网首页
org.greenrobot.eventbus发布-订阅模式事件

org.greenrobot.eventbus发布-订阅模式事件

作者: AC编程 | 来源:发表于2024-01-23 17:21 被阅读0次

一、简介

org.greenrobot.eventbus 是一个开源的事件总线库,用于实现发布-订阅模式的事件通信。

二、代码

2.1 添加依赖
<!-- https://mvnrepository.com/artifact/org.greenrobot/eventbus -->
<dependency>
    <groupId>org.greenrobot</groupId>
    <artifactId>eventbus</artifactId>
    <version>3.3.1</version>
</dependency>
2.2 消息类
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EventMessage {

    private String topic;

    private Object data;
}
2.3 发布事件
@Slf4j
@Component
public class UpdateDeptEventSend {

    /**
     * 发布事件
     */
    public void sendEvent() {
        EventMessage eventMessage = EventMessage.builder()
            .topic("update_dept")
            .build();
        EventBus.getDefault().post(eventMessage);
    }
}
2.4 注册事件
@Component
@Slf4j
public class FlowEventHandler {

    @Resource
    private UpdateDeptListener updateDeptListener;

    @PostConstruct
    public void init() {
        EventBus.getDefault().register(updateDeptListener);
    }

    @PreDestroy
    public void destroy() {
        EventBus.getDefault().unregister(updateDeptListener);
    }
}
2.5 监听事件
@Slf4j
@Component
public class UpdateDeptListener {

    @Subscribe
    public void onMessageEvent(EventMessage eventMessage) {
        if (!"update_dept".equals(eventMessage.getTopic())) {
            return;
        }
        //处理业务逻辑
    }
}

相关文章

  • 异步编程解决方案

    事件发布/订阅模式 事件监听器模式是一种广泛用于异步编程的模式,是回调函数的事件化,又称发布/订阅模式。 事件发布...

  • 观察者模式和发布订阅模式的区别

    观察者模式和发布订阅模式最大的区别就是发布订阅模式有个事件调度中心。 在观察者模式中,观察者需要直接订阅目标事件;...

  • 发布订阅模式和观察者模式

    发布/订阅模式 订阅者 发布者 事件中心 我们假定,存在一个“事件中心”,某个任务执行完成,就向事件中心“发布”(...

  • 2017百度前端技术学院——vue源码分析之——动态数据绑定二(

    源码地址 一、发布/订阅者模式 订阅者把自己想订阅的事件注册到调度中心,当该事件触发时候,发布者发布该事件到调度中...

  • 使用Typescript手写一个Eventhub(发布订阅模式)

    什么是发布-订阅模式? 发布-订阅模式主要包含三个模块, 发布者,事件处理中心,订阅者。举个简单的例子,假设我们是...

  • Angular $scope和$rootScope事件机制之$e

    Angular按照发布/订阅模式设计了其事件系统,使用时需要“发布”事件,并在适当的位置“订阅”或“退订”事件,就...

  • 常见设计模式

    问答 写出构造函数模式、混合模式、模块模式、工厂模式、单例模式、发布订阅模式的范例。 使用发布订阅模式写一个事件管...

  • 订阅发布模式

    Q:何为发布订阅模式?A:这是一种发布者和订阅者之间由事件驱动产生关系的软件开发模式Q:发布订阅模式哪里可以看到?...

  • vue2.0双向绑定原理

    发布/订阅模式 订阅者将自己的订阅事件注册到调度中心,当发布者发布该事件到调度中心-即触发该事件,由调度中心统一处...

  • 常见设计模式

    写出 构造函数模式、混合模式、模块模式、工厂模式、单例模式、发布订阅模式的范例。 使用发布订阅模式写一个事件管理器...

网友评论

      本文标题:org.greenrobot.eventbus发布-订阅模式事件

      本文链接:https://www.haomeiwen.com/subject/slfpodtx.html