Package akka.osgi

Class ActorSystemActivator

  • All Implemented Interfaces:
    org.osgi.framework.BundleActivator

    public abstract class ActorSystemActivator
    extends java.lang.Object
    implements org.osgi.framework.BundleActivator
    Abstract bundle activator implementation to bootstrap and configure an actor system in an OSGi environment. It also provides a convenience method to register the actor system in the OSGi Service Registry for sharing it with other OSGi bundles.

    This convenience activator is mainly useful for setting up a single ActorSystem instance and sharing that with other bundles in the OSGi Framework. If you want to set up multiple systems in the same bundle context, look at the OsgiActorSystemFactory instead.

    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void addLogServiceListener​(org.osgi.framework.BundleContext context, ActorSystem system)
      Adds a LogService Listener that will advertise the ActorSystem on LogService registration and unregistration
      abstract void configure​(org.osgi.framework.BundleContext context, ActorSystem system)
      Implement this method to add your own actors to the ActorSystem.
      com.typesafe.config.Config getActorSystemConfiguration​(org.osgi.framework.BundleContext context)
      Override this method to define a configuration for your ActorSystem instance.
      java.lang.String getActorSystemName​(org.osgi.framework.BundleContext context)
      By default, the ActorSystem name will be set to bundle-<bundle id>-ActorSystem.
      void registerService​(org.osgi.framework.BundleContext context, ActorSystem system)
      Register the actor system in the OSGi service registry.
      <T> T serviceForReference​(org.osgi.framework.BundleContext context, org.osgi.framework.ServiceReference<?> reference)
      Convenience method to find a service by its reference.
      void start​(org.osgi.framework.BundleContext context)
      Sets up a new ActorSystem
      void stop​(org.osgi.framework.BundleContext context)
      Shuts down the ActorSystem when the bundle is stopped and, if necessary, unregisters a service registration.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ActorSystemActivator

        public ActorSystemActivator()
    • Method Detail

      • addLogServiceListener

        public void addLogServiceListener​(org.osgi.framework.BundleContext context,
                                          ActorSystem system)
        Adds a LogService Listener that will advertise the ActorSystem on LogService registration and unregistration

        Parameters:
        context - the BundleContext
        system - the ActorSystem to be advertised
      • configure

        public abstract void configure​(org.osgi.framework.BundleContext context,
                                       ActorSystem system)
        Implement this method to add your own actors to the ActorSystem. If you want to share the actor system with other bundles, call the registerService(BundleContext, ActorSystem) method from within this method.

        Parameters:
        context - the bundle context
        system - the ActorSystem that was created by the activator
      • getActorSystemConfiguration

        public com.typesafe.config.Config getActorSystemConfiguration​(org.osgi.framework.BundleContext context)
        Override this method to define a configuration for your ActorSystem instance. This configuration will be merged with fallback on the application.conf of your bundle the reference.conf of the akka bundles the System properties.

        Parameters:
        context - the bundle context
        Returns:
        the actor system specific configuration, ConfigFactory.empty by default
      • getActorSystemName

        public java.lang.String getActorSystemName​(org.osgi.framework.BundleContext context)
        By default, the ActorSystem name will be set to bundle-&lt;bundle id&gt;-ActorSystem. Override this method to define another name for your ActorSystem instance.

        Parameters:
        context - the bundle context
        Returns:
        the actor system name
      • registerService

        public void registerService​(org.osgi.framework.BundleContext context,
                                    ActorSystem system)
        Register the actor system in the OSGi service registry. The activator itself will ensure that this service is unregistered again when the bundle is being stopped.

        Only one ActorSystem can be registered at a time, so any previous registration will be unregistered prior to registering the new.

        Parameters:
        context - the bundle context
        system - the actor system
      • serviceForReference

        public <T> T serviceForReference​(org.osgi.framework.BundleContext context,
                                         org.osgi.framework.ServiceReference<?> reference)
        Convenience method to find a service by its reference.
      • start

        public void start​(org.osgi.framework.BundleContext context)
        Sets up a new ActorSystem

        Specified by:
        start in interface org.osgi.framework.BundleActivator
        Parameters:
        context - the BundleContext
      • stop

        public void stop​(org.osgi.framework.BundleContext context)
        Shuts down the ActorSystem when the bundle is stopped and, if necessary, unregisters a service registration.

        Specified by:
        stop in interface org.osgi.framework.BundleActivator
        Parameters:
        context - the BundleContext