Docs: Guice Integration in two places, removed from typed-actors

(cherry picked from commit 5b1a610c57e42aeb28a6a1d9c3eb922e1871d334)
This commit is contained in:
Patrik Nordwall 2011-05-10 10:24:48 +02:00
parent 789475a468
commit fe85ae111d

View file

@ -194,55 +194,3 @@ Akka can help you in this regard. It allows you to turn on an option for seriali
This will make a deep clone (using Java serialization) of all parameters.
Guice Integration
-----------------
All Typed Actors support dependency injection using `Guice <http://code.google.com/p/google-guice/>`_ annotations (such as @Inject etc.).
The ``TypedActorManager`` class understands Guice and will do the wiring for you.
External Guice modules
^^^^^^^^^^^^^^^^^^^^^^
You can also plug in external Guice modules and have not-actors wired up as part of the configuration.
Here is an example:
.. code-block:: java
import static akka.config.Supervision.*;
import static akka.config.SupervisorConfig.*;
TypedActorConfigurator manager = new TypedActorConfigurator();
manager.configure(
new AllForOneStrategy(new Class[]{Exception.class}, 3, 1000),
new SuperviseTypedActor[] {
new SuperviseTypedActor(
Foo.class,
FooImpl.class,
temporary(),
1000),
new SuperviseTypedActor(
Bar.class,
BarImpl.class,
permanent(),
1000)
})
.addExternalGuiceModule(new AbstractModule() {
protected void configure() {
bind(Ext.class).to(ExtImpl.class).in(Scopes.SINGLETON);
}})
.configure()
.inject()
.supervise();
Retrieve the external Guice dependency
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The external dependency can be retrieved like this:
.. code-block:: java
Ext ext = manager.getExternalDependency(Ext.class);