我想要一个 ActorFactory 类如下
public class SampleActorFactory {
// Simple create method
public createActor(AbstractActor.ActorContext actorContext, Props props) {
return actorContext.actorOf(props);
}
// other complex create methods
...
}
使用上述工厂类创建子actor是否可以,或者这被认为是一种不好的做法?如果被认为是不好的做法,那为什么?
例如:
public class SampleActor extends AbstractActor {
private final SampleActorFactory sampleActorFactory;
@Override
public Receive createReceive() {
return receiveBuilder()
.match(SampleData.class, sampleData -> {
Props sampleProps = getSampleProps(...);
ActorRef childActor = sampleActorFactory.createActor(getContext(), sampleProps);
})
.build();
}
}