首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Google Guava EventBus简单化生产/消费者模式使用

2012-09-01 
Google Guava EventBus简化生产/消费者模式使用在Google Guava 10版本引入了EventBus, 它主要用来简化我们

Google Guava EventBus简化生产/消费者模式使用


在Google Guava 10版本引入了EventBus, 它主要用来简化我们处理生产/消费者编程模型.

基本用法
使用Guava之后, 如果要订阅消息, 就不用再继承指定的接口, 只需要在指定的方法上加上@Subscribe注解即可:

@Testpublic void shouldGetEventsFromSubclass() throws Exception {     // given    EventBus eventBus = new EventBus("test");    IntegerListener integerListener = new IntegerListener();    NumberListener numberListener = new NumberListener();    eventBus.register(integerListener);    eventBus.register(numberListener);     // when    eventBus.post(new Integer(100));     // then    assertThat(integerListener.getLastMessage()).isEqualTo(100);    assertThat(numberListener.getLastMessage()).isEqualTo(100);     //when    eventBus.post(new Long(200L));     // then    // this one should has the old value as it listens only for Integers    assertThat(integerListener.getLastMessage()).isEqualTo(100);    assertThat(numberListener.getLastMessage()).isEqualTo(200L);}



参考原文:http://tomaszdziurko.pl/2012/01/google-guava-eventbus-easy-elegant-publisher-subscriber-cases/

热点排行