В моем текущем проекте я пишу сервис, который получает команды конфигурации «сверху» и должен распространять эти конфигурации в базы данных, хранящиеся локально на конфигурируемых машинах.
Схема для баз данных конфигурации:идентичны, но данные специфичны для машины, в которой они находятся.
Количество машин может быть изменено в любое время.В настоящее время я использую NHibernate для подключения к базам данных конфигурации и могу создавать эти подключения динамически.(имя машины передается с помощью команды конфигурации)
NHibernate не соответствует требованиям проекта.Это может быть связано с недостаточным опытом команды или с характером инструмента.В статической среде iBatis работает лучше, но весь мой опыт работы с ibatis требует настройки источников данных во время сборки или в xml-файле, хранящемся локально вместе со службой (здесь источники данных все еще создавались один раз во время выполнения)
Нельзя жестко закодировать все возможные машины.
Возможно ли с помощью iBatis динамически создавать источник данных, используя предопределенные sqlmaps и ввод используемого URL-адреса?
По сути, тот же вопрос остался без ответа в другом месте несколько лет назад (d) и (e) его «Дополнительные требования», чтобы не соответствовать моему сценарию.
В идеале я был бы в состоянии:
- Выполните однократные затраты на создание источника данных один раз.
- Повторно используйте тот же источник данных, закрыв соединение и открыв его с другим URL.
- Есть пулподключений, использующих одну и ту же конфигурацию одновременно.