Spring @Transactional - приложение для взлома встроенных и автономных MongoDB - PullRequest
0 голосов
/ 17 апреля 2020

Я использую Spring Data MongoDB 2.2.1.RELEASE для доступа к MongoDB. И flapdoodle embed mongo 2.2.0 как встроенный MongoDB для тестирования. Эта настройка работает отлично. Но недавно я добавил поддержку транзакций Spring. А поскольку MongoDB поддерживает транзакции только для наборов реплик. Я создал локальную реплику на моем компьютере и протестировал сценарий транзакции ios. Все хорошо до сих пор. Но теперь, когда я запускаю свои модульные тесты, аннотация @Transactional, добавленная к методам обслуживания, разбивает приложение с ошибкой ниже, поскольку встроенная MongoDB не является набором реплик.

com.mongodb.MongoClientException: Sessions не поддерживаются кластером MongoDB, к которому подключен этот клиент

Мой вопрос заключается в том, как настроить мое приложение таким образом, чтобы функция @Transactional не нарушала работу моего приложения при использовании встроенного или автономного MongoDB?

Предложения очень ценятся. Спасибо !!

1 Ответ

0 голосов
/ 18 апреля 2020

Можно запустить набор реплик из 1 узла. Вы можете учесть это, особенно в тестах, чтобы ваша тестовая среда больше напоминала вашу производственную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...