Guava之EventBus 简单示例

525 阅读1分钟

 

EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现。对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建复杂的类和接口层次结构。

package com.hcmony.adscounter.api;


import com.google.common.eventbus.EventBus;
import com.google.common.eventbus.Subscribe;

/**
 * <h3>类的基本描述</h3>
 *
 * @author hcmony
 * @since V1.0.0, 2020/3/11 09:54
 */
public class Test {

    public static void main(String[] args) {
        EventBus bus = new EventBus();
        bus.register(new MyLisenter());
        bus.post(new MyEvent("test"));
    }

    static class MyEvent {
        private String message;

        public MyEvent(String message) {
            this.message = message;
        }

        @Override
        public String toString() {
            return this.message;
        }
    }

    static class MyLisenter{
        @Subscribe
        public void consume(MyEvent event){
            System.out.println(event.toString());
        }
    }
}