Lorsque vous utilisez des acteurs Akka, chaque acteur créé est enregistré dans un ActorRegistry. L'ActorRegistry est un singleton, et permet de rechercher et de gérer facilement (démarrer, arrêter, ...) tous les acteurs. Cependant, dans un environnement OSGi, un certain nombre de groupes d'applications peuvent être installés chacun en utilisant des acteurs Akka en interne (et Akka est installé en tant que groupe lui-même). Certains des acteurs d'un ensemble d'applications doivent être disponibles pour d'autres ensembles et, en tant que tels, agir en tant que services exportés. D'autres sont strictement internes au bundle. L'ActorRegistry contient cependant tous les acteurs de tous les bundles (puisque c'est un singleton), donc les deux exportés ainsi que les internes. Cela signifie que même les acteurs utilisés en interne dans un bundle sont disponibles pour tout autre bundle.Comment obtenir une véritable modularité d'application en utilisant Akka dans les bundles OSGi?
Mais j'aimerais avoir plus de contrôle sur les acteurs qui sont disponibles en dehors d'un bundle. Idéalement, chaque bundle aurait son propre ActorRegistry, et déciderait lequel de ses acteurs serait publié en tant que service OSGi.
Alors, quelle serait la meilleure façon d'utiliser Akka pour une application modulaire dans un environnement OSGi, pour obtenir une véritable modularité?
(arrière-plan à ce sujet sur http://blog.xume.com/2011/02/actorregistry-scope-using-akka-in-osgi.html