in saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/ActorBasedSagaFactory.java [52:72]
public ActorBasedSaga createSaga(String requestJson, String sagaId, EventStore sagaLog, SagaDefinition definition) {
CompletableFuture<SagaResponse> future = new CompletableFuture<>();
ActorRef completionCallback = actorSystem.actorOf(CompletionCallbackActor.props(future));
RequestActorContext context = actorBuilder.build(
definition.requests(),
sagaTaskFactory.sagaTasks(sagaId,
requestJson,
definition.policy(),
sagaLog
),
completionCallback);
completionCallback.tell(context, noSender());
return new ActorBasedSaga(
context.actorOf(NoOpSagaRequest.SAGA_START_REQUEST.id()),
completionCallback,
future,
sagaLog,
new EventContextImpl(context));
}