Таким образом, мое приложение имеет класс GenericRepository
с JdbcTemplate
, инициализированным одним источником данных, и имеет несколько универсальных методов (find()
, add()
, update()
, delete()
и т. Д.). Я расширяю этот класс в моих DAO и использую эти универсальные методы для выполнения SQL-запросов (я передаю запрос и параметры запроса, если таковые имеются, из моего DAO в эти методы). Теперь вот второй источник данных. Теперь мне нужно инициализировать мой JdbcTemplate
объект с другим источником данных всякий раз, когда мне требуется выполнить запрос в этом источнике данных, а затем повторно инициализировать основной источник данных при выполнении запроса, и мне больше не нужен этот источник данных. Но проблема возникнет во время параллелизма. Допустим, когда пользователь 1 хочет выполнить запрос во втором источнике данных и инициализирует его, теперь перед выполнением запроса пользователя 1 пользователь 2 начинает выполнять свой запрос, который требует подключения первичного источника данных, но jdbcTemplate является инициализированным вторичным соединением, а запрос пользователя 2 не будет работать иликинь какую-нибудь ошибку. Как это можно решить без изменения какой-либо реализации универсальных методов в моем GenericRepository?