2016-10-09 33 views
-2

我的應用程序邏輯應該基於事件處理。它不難實現相應的生產者 - 消費者模式和事件類。但首先我想確保以前沒有實施。Java:非分佈式事件處理

我想說明我正在談論非分佈式事件處理。即我不需要序列化我的事件並將它們發送給其他JVM。

我有哪些選擇?

  1. 我使用Spring。在Spring中已經有了事件處理支持。 Spring事件處理足夠健壯嗎?有什麼限制?
  2. 我可以使用Akka。好,但Akka主要用於分佈式系統。是否值得將其用於單個JVM應用程序?
  3. 我可以自己實現。沒有什麼大不了的,但我總是喜歡在重新開始之前諮詢stackoverflow。

+1

我覺得你的問題太寬泛了;但有幾點意見:你今天沒有分發,但明天可能?所以,這仍然是考慮阿卡的一個論據。另一方面,永遠也不應該忘記YAGNI(你不需要它)。但是,那麼:你認爲你不可能實現健壯的事件處理,但是你不相信像Spring這樣的高級框架能夠做到這一點? – GhostCat

+0

我對Akka並不熟悉,但AFAIK並不主要針對分佈式系統。您也可以使用它來基於消息傳遞構建併發應用程序。 – beatngu13

回答

0

結帳Spring Integration。它具有如果您正在討論的事件處理以及輸入/輸出myrid,以及路由,轉換(使用任意Java)和複雜錯誤處理的能力。我之前用它來面對Kafka的REST服務,我們對此非常滿意。