Я пытаюсь создать проект с двумя источниками данных, один - MongoDB, а другой - Postgres.У меня есть репозитории для каждого источника данных в разных пакетах, и я прокомментировал свой основной класс следующим образом:
@Import({MongoDBConfiguration.class, PostgresDBConfiguration.class})
@SpringBootApplication(exclude = {
MongoRepositoriesAutoConfiguration.class,
JpaRepositoriesAutoConfiguration.class
})
public class TemporaryRunner implements CommandLineRunner {
...
}
MongoDBConfiguration:
@Configuration
@EnableMongoRepositories(basePackages = {
"com.example.datastore.mongo",
"com.atlassian.connect.spring"})
public class MongoDBConfiguration {
...
}
PostgresDBConfiguration:
@Configuration
@EnableJpaRepositories(basePackages = {
"com.example.datastore.postgres"
})
public class PostgresDBConfiguration {
...
}
И хотя я указал базовые пакеты, как описано в документации , я все равно получаю эти сообщения в консоли:
13:10:44.238 [main] [] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
13:10:44.266 [main] [] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data MongoDB - Could not safely identify store assignment for repository candidate interface com.atlassian.connect.spring.AtlassianHostRepository.
Мне удалось решить эту проблему для всех моих репозиториев с помощью MongoRepositoryи JpaRepository, но AtlassianHostRepository происходит из внешней библиотеки и является обычным CrudRepository (что вполне имеет смысл, поскольку потребитель библиотеки может решить, какой тип БД он хотел бы использовать).Как бы то ни было, похоже, что указанные мной basePackages полностью игнорируются и никоим образом не используются, хотя я указал пакет com.atlassian.connect.spring только в @EnableMongoRepositories. Spring Data каким-то образом не может определить, какой модуль данныхдолжен быть использован.Я делаю что-то неправильно?Есть ли другой способ, которым я мог бы сказать весенним данным использовать mongo для AtlassianHostRepository без изменения самого AtlassianHostRepository.class?