Вызывать методы в двух разных ReactiveMongoRepository в транзакции, используя Spring Data MongoDB? - PullRequest
0 голосов
/ 29 мая 2019

При использовании модели реактивного программирования с Spring Data MongoDB можно выполнять транзакции следующим образом:

Mono<DeleteResult> result = template.inTransaction()                                      
    .execute(action -> action.remove(query(where("id").is("step-1")), Step.class)); 

Но Spring Data MongoDB также поддерживает «реактивные репозитории», например:

public interface PersonRepository extends ReactiveMongoRepository<Person, String>

  Flux<Person> findByLocationNear(Point location, Distance distance);
}

и

public interface CarRepository extends ReactiveMongoRepository<Car, String>

  Flux<Car> findByYear(int year);
}

Мой вопрос, учитывая, что у вас есть ReactiveMongoRepository, можете ли вы каким-либо образом использовать транзакции MongoDB и, например, вставить и Person и Car в одно и то жетранзакция (с использованием PersonRepository и CarRepository в случае)?Если да, то как ты это делаешь?

...