Guava 的EventBus示例代码(简单笔记,后期补充)

package guavademo.event.bus;

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

/**
 * Created by liuguangxin on 2018/4/9.
 */
public class OrderEvent {
    private String message;

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

    public String getMessage() {
        return message;
    }
}


class EventListener {

    public EventListener(){
        System.out.println();
    }

    @Subscribe
    public void listen(OrderEvent event) {
        //TODO @Subscribe注解的处理逻辑在com.google.common.eventbus.EventBus.register()中被处理
        System.out.println("receive msg:" + event.getMessage());
    }

    @Subscribe
    public void listen(String event) {
        System.out.println("receive msg:" + event);
    }
}


class Main {
    public static void main(String[] args) {
        EventBus eventBus = new EventBus("daxin");

        //register all subscriber
        eventBus.register(new EventListener());

        // 支持多个订阅者
        // eventBus.register(new EventListener());

        //publish event
        eventBus.post(new OrderEvent("hello"));
        eventBus.post(new OrderEvent("world"));
        eventBus.post("String type Event");

    }
}

  

@Subscribe注解的处理逻辑在com.google.common.eventbus.EventBus.register()中被处理

原文地址:https://www.cnblogs.com/leodaxin/p/8757565.html