При использовании акторов Akka каждый созданный актор регистрируется в ActorRegistry. ActorRegistry является одноэлементным и позволяет легко находить и управлять (запускать, останавливать и т. д.) всеми участниками.
Однако в среде OSGi можно установить ряд пакетов приложений, каждый из которых использует внутренние акторы Akka (и Akka устанавливается как сам пакет). Некоторые действующие лица пакета приложений должны быть доступны для других пакетов и действовать как экспортируемые службы. Другие являются строго внутренними для пакета. Однако ActorRegistry содержит всех акторов всех пакетов (поскольку это синглтон), то есть как экспортируемых, так и внутренних. Это означает, что даже действующие лица, используемые внутри пакета, доступны для любого другого пакета.
Но я хотел бы получить больше контроля над тем, какие актеры доступны за пределами пакета. В идеале каждый пакет должен иметь свой собственный ActorRegistry и решать, какие из его акторов будут опубликованы как служба OSGi.
Итак, как лучше всего использовать Akka для модульного приложения в среде OSGi, чтобы добиться истинной модульности?
(Информация об этом на http://blog.xume.com/2011/02/actorregistry-scope-using-akka-in-osgi.html