2016-10-09 4 views
-2

Моя логика приложения должна основываться на обработке событий. Это не так сложно реализовать соответствующие шаблоны-производители-потребители и классы событий. Но сначала я хотел бы, чтобы это не было реализовано раньше.Java: нераспределенная обработка событий

Я хотел бы указать, что я говорю о нераспределенной обработке событий. То есть Мне не нужно сериализовать мои события и отправлять их на некоторые другие JVM.

Какие у меня варианты?

  1. Я использую весну. В Spring уже присутствует поддержка обработки событий. Является ли весенняя обработка событий достаточно прочной? Каковы ограничения?
  2. Я могу использовать Akka. Хорошо, но Akka в основном предназначена для распределенных систем. Стоит ли использовать его для одного приложения JVM?
  3. Я могу реализовать это самостоятельно. Неважно, но я всегда предпочитаю обращаться к stackoverflow, прежде чем изобретать колесо.

?

+1

Я думаю, что ваш вопрос слишком широк; но несколько комментариев: вы сегодня не распространяетесь, но, может быть, завтра? Таким образом, это будет аргументом, чтобы все еще рассматривать Акку. С другой стороны, никогда нельзя забывать и о YAGNI (вам это не понадобится). Но тогда: вы считаете, что вы не можете совершить большую транзакцию, но вы не доверяете какой-либо расширенной структуре, такой как весна, чтобы это сделать? – GhostCat

+0

Я не знаком с Akka, но AFAIK это не касается в основном распределенных систем. Вы также можете использовать его для создания параллельных приложений на основе передачи сообщений. – beatngu13

ответ

0

Отъезд Spring Integration. Он имеет вид обработки событий, о котором вы говорите, наряду с миридом входов/выходов, а также возможность маршрутизации, преобразования (с произвольной Java) и сложной обработки ошибок. Я использовал его раньше для службы REST, которая выходила на Kafka, и мы были очень довольны этим.

Смежные вопросы