Spring использует реализацию Mongo над JPA
Я довольно новичок в Spring Framework и у меня возникли проблемы с настройкой проекта, над которым я сейчас работаю. Мне нужно иметь возможность подключиться к двум различным базам данных, одна из которых MongoDB, а другая MSSQL. Я использую JPA для подключения к MSSQL.
Проблема, с которой я сталкиваюсь, заключается в том, что она, кажется, пытается делать вызовы в базу данных Mongo, когда я хочу, чтобы она выполняла вызовы в MSSQL, и я не совсем уверен, как сказать, что читать. Я видел посты, советующие использовать@Qualifier
аннотации, чтобы направить его на правильную реализацию, но я не думаю, что это будет работать для моего случая.
@RestController
@RequestMapping("/software")
public class SoftwareEndpoint {
@Autowired
SoftwareRepository repo;
/**********************************************************************************
********************************MSSQL calls****************************************
***********************************************************************************/
@RequestMapping(value="/all",method=RequestMethod.GET,produces=MediaType.APPLICATION_JSON)
String getAllSoftware(){
System.out.println("Here1");
List<Software> allSoftware = (List<Software>) repo.findAll();
System.out.println("Here2");
//rest of method and class
Выше показан фрагмент моего класса контроллера, в котором есть экземпляр моего SoftwareRepository. Я также печатаю в выходной поток до и после вызова db.
Выходной поток показывает только «Here1», затем выводит эту строку:
2016-10-04 07:35:39.810 INFO 4236 --- [nio-8080-exec-2] org.mongodb.driver.cluster : No server chosen by ReadPreferenceServerSelector{readPreference=primary} from cluster description ClusterDescription{type=UNKNOWN, connectionMode=SINGLE, all=[ServerDescription{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: Connection refused: connect}}]}. Waiting for 30000 ms before timing out
а затем выдает исключение по таймауту.
У меня нет экземпляра mongo, работающего локально, однако там будет место, где разворачивается приложение, но я не верю, что это проблема, потому что при достижении этой конечной точки он не должен делать вызов Mongo базы данных, он должен пытаться связаться с MSSQL.
TLDR: Как мне указать, какую реализацию базы данных для Spring использовать для конкретного репозитория или вызова базы данных?