в чем разница между AbstractActor, UntypedActor и AbstractBehavior в akka?

Впервые в Akka у меня есть три разных примера, и все три используют очень разные классы для реализации актора,

AbstractActor: https://www.baeldung.com/akka-with-spring

UntypedActor: https://www.baeldung.com/akka-actors-java

AbstractBehavior: https://doc.akka.io/docs/akka/current/typed/guide/tutorial_1.html.

Первые два выглядят очень простыми и понятными и напоминают реализацию модели акторов, которую я использовал и видел на Erlang. Один из официальных документов выглядит самым сложным.

Так что я немного не понимаю, какой из них использовать и когда?


person BenEleven    schedule 20.12.2019    source источник
comment
Отвечает ли это на ваш вопрос? В чем разница между использованием AbstractBehavior и AbstractActor для определения акторов Akka ?   -  person Jeffrey Chung    schedule 20.12.2019


Ответы (1)


  • akka.actor.typed.javadsl.AbstractBehavior - это новый "типизированный" Java API для акторов, он немного более подробный, но дает вам лучшую безопасность типов взамен этой веб-функциональности. Мы рекомендуем новые проекты, начиная с Akka, чтобы использовать его с версии 2.6 и далее.
  • akka.actor.AbstractActor - это «классический» (до Akka 2.6) Java API для акторов, он был добавлен с поддержкой Lambdas в Java 8. Он не исчезнет из-за новых API, но будет существовать еще долгое время, так как многие системы построены. используй это.
  • akka.actor.UntypedActor был более старым Java API для акторов до Java 8, он устарел в Akka 2.5 и теперь (2.6) удален.
person johanandren    schedule 02.01.2020