public ActorBasedSaga createSaga()

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));
  }