akka.osgi
Class ActorSystemActivator

java.lang.Object
  extended by akka.osgi.ActorSystemActivator

public abstract class ActorSystemActivator
extends java.lang.Object

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.


Constructor Summary
ActorSystemActivator()
           
 
Method Summary
 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--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,  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

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

start

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

Parameters:
context - the BundleContext

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
system - (undocumented)

serviceForReference

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

Parameters:
context - (undocumented)
reference - (undocumented)
Returns:
(undocumented)

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.

Parameters:
context - the BundleContext

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

getActorSystemName

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

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

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