Reactor: Spring釋出基於JVM的非同步事件驅動框架

banq發表於2013-05-14
面對Vert.x 以及Erlang/Scala的Actor模型衝擊,Spring今天最新宣佈,推出基於事件驅動的非同步應Reactor:

Reactor 是一個提供Java Groovy或其他JVM語言建立事件和資料驅動更容易的框架。它很快,可以每秒處理15,000,000以上事件,無堵塞non-blocking分發. 長任務執行無堵塞
專案:https://github.com/reactor/reactor.

Reactor 是受到著名的 Reactor設計模式(本站Reactor文章)影響,當然也受到EDA事件驅動實踐的影響,Reactor目標是讓EDA更加容易方便使用。

使用程式碼案例:

// Use a POJO as an event handler
class Service {
  public <T> void handleEvent(Event<T> ev) {
    // handle the event data
  }
}
 
@Inject
Service service;
 
// Use a method reference to create a Consumer<Event<T>>
reactor.on($("parse"), service::handleEvent);
 
// Notify consumers of the 'parse' topic that data is ready
// by passing a Supplier<Event<T>> in the form of a lambda
reactor.notify("parse", () -> {
  slurpNextEvent()
});

<p class="indent">

[該貼被admin於2013-05-14 10:52修改過]

相關文章