加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 使用Reactor选择与键匹配的事件

发布时间:2020-12-15 04:15:05 所属栏目:Java 来源:网络整理
导读:使用reactor( https://github.com/reactor/reactor)我通知一些事件,如 commandReactor.notify("CREATE_CUSTOMER",Event.wrap(customer)); commandReactor.notify("CREATE_ORDER",Event.wrap(order)); 如何实现选择以“CREATE”开头的所有事件的选择器?就像
使用reactor( https://github.com/reactor/reactor)我通知一些事件,如

commandReactor.notify("CREATE_CUSTOMER",Event.wrap(customer));
 commandReactor.notify("CREATE_ORDER",Event.wrap(order));

如何实现选择以“CREATE”开头的所有事件的选择器?就像是

@Selector(value = "CREATE*",reactor = "@commandReactor")

提前致谢.

解决方法

你可以使用RegexSelector [1]来做到这一点:

commandReactor.notify("CREATE_(.+)",Event.wrap(obj));

或者,使用注释:

@Selector(value = "CREATE_(.+)",type = SelectorType.REGEX)

然后在您的处理程序中,您可以通过查看group1到groupN的标头来检查捕获组:

new Consumer<Event<Object>>>() {
  public void accept(Event<?> ev) {
    String type = ev.getHeaders().get("group1");
    if("CUSTOMER".equals(type)) {
      // handle customers
    } else if("ORDER".equals(type)) {
      // handle orders
    }
}

[1] – http://reactor.github.io/docs/api/reactor/event/selector/RegexSelector.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读