Java 8, Guice 4.0 и Akka 2.3.9. Я пытаюсь выяснить, как аннотировать классы моего актера с помощью аннотаций @Inject
в стиле JSR330, а затем подключить их все через Guice.
Но буквально каждая статья, которую я прочитал (некоторые примеры ниже), либо использует примеры кода Scala, либо уголовно-старую версию Guice, либо уголовно-старую версию Akka:
Итак, учитывая следующий модуль Guice:
public interface MyService {
void doSomething();
}
public class MyServiceImpl implements MyService {
@Override
public void doSomething() {
System.out.println("Something has been done!");
}
}
public class MyActorSystemModule extends AbstractModule {
@Override
public void configure() {
bind(MyService.class).to(MyServiceImpl.class);
}
}
И учитывая FizzActor
, который вводится с помощью MyService
:
public class FizzActor extends UntypedActor {
private final MyService myService;
@Inject
public FizzActor(MyService myService) {
super();
this.myService = myService;
}
@Override
public void onReceive(Object message) {
// .. Do fizz stuff inside here.
}
}
Затем я спрашиваю: Как настроить MyActorSystemModule
для создания экземпляров FizzActor
и правильно вставлять их с помощью Java (не Scala!)?
Обратите внимание: FizzActor
- не единственный актер в моей системе актеров!