Наразі ми пишемо заявку, яка розділена на кілька проектів / модулів. Наприклад, візьмемо наступні модулі:
- myApp-DAO
- myApp-jabber
Кожен модуль має свій XML-файл Spring контексту. Для модуля DAO у мене є PropertyPlaceholderConfigurer, який зчитує файл властивості з необхідними параметрами з'єднання db. У модулі jabber у мене також є PropertyPlaceHolderConfigurer для властивостей з'єднання jabber.
Зараз виходить головне додаток, яке включає myApp-DAO та myApp-jabber. Він читає всі файли контексту і запускає один великий контекст Весни. На жаль, здається, що може існувати лише один PropertyPlaceholderConfigurer в контексті, тому той, який завантажений модуль перший, може прочитати його параметри з'єднання. Інший додає виняток із помилкою типу "Не вдалося вирішити заповнювач" jabber.host ""
Я начебто розумію, в чому проблема, але я не знаю рішення - чи найкращої практики для моєї справи.
Як я можу налаштувати кожен модуль, щоб кожен міг завантажити власний файл властивостей? Зараз я перемістив PropertyPlaceHolderConfigurer з окремих файлів контексту та об'єднав їх у основний контекст програми (завантажуючи всі файли властивостей за допомогою одного PropertyPlaceHolderConfigurer). Це все одно, тому що тепер кожен, хто використовує модуль дао, повинен знати, що їм потрібен PropertyPlaceHolderConfigurer в їхньому контексті.
Мені цікаво почути про рішення / ідеї спільноти stackoverflow ..