Hy all,
в моем текущем приложении, мне нужно иметь возможность загружать несколько соединений с базой данных в мой контекст (они затем используются на верблюжьих маршрутах, но это не является частью этого вопроса).
Для этого у меня есть список настроек в моем файле application.yml, где каждая запись - это все, что нужно для одного соединения:
- name: mysql1
jdbcUrl: "jdbc:mysql://localhost:3306/dbScheme"
username: a
password: a
- name: mssql1
jdbcUrl: "jdbc:sqlserver://localhost:1433;databaseName=dbScheme"
username: a
password: a
Существует переменное количество соединений, которое может бытьнастроен следующим образом.
Мне нужна каждая из этих конфигураций как javax.sql.DataSource
объект / бин в реестре (имя бина будет именем свойства из объекта конфигурации):
DataSource dataSourceBean = DataSourceBuilder.create()
.driverClassName(driverClassName) // Resolved automatically from the jdbcUrl
.url(dataSourceFromYaml.getJdbcUrl())
.username(dataSourceFromYaml.getUsername())
.password(dataSourceFromYaml.getPassword())
.build();
Вопрос сейчасв том, как я помещаю эти объекты в контекст как бины?
На мой взгляд, это невозможно с аннотациями, потому что у нас есть переменное количество объектов, и они также не загружаются непосредственно в контекст, но должныбыть создан первым. (Или я здесь не прав?)
Заранее спасибо за любые идеи
Крис
Редактировать:
Чтобы уточнить: две связи, которые я положил здесьэто не соединения, используемые в работе, это всего лишь пример.
Проблема в том, что они настроены в работе и их может быть любое количество.
У меня нет способа предсказать, сколько их существует, икак они названы.