У меня возникли проблемы с пониманием того, почему я буду использовать файл context.xml для объявления ресурса, в моем случае пула соединений с базой данных. Надеюсь, я правильно изложил свои факты в следующих аргументах против использования context.xml.
Насколько я могу судить, ресурсы, объявленные в /META-INF/context.xml, доступны только в контексте, поэтому нет причин делать это для совместного использования ресурсов.
Объявление ресурса пула соединений таким образом создает зависимость от загрузчика классов контейнера, поэтому, если я это сделаю и, например, захочу изменить свои драйверы базы данных, я должен перезапустить контейнер, а не только мой контекст.
Я также создаю зависимость от контейнерных вещей, таких как JNDI, что усложняет автономное тестирование.
Наконец, мне приходится прыгать через обручи времени сборки, чтобы, например, переключать ресурсы между тестовыми и производственными ресурсами.
Ни одна из этих проблем не является непреодолимой, но, безусловно, на бумаге гораздо проще просто создать пул соединений и подключить его к моей контекстной области.
Я хотел бы знать, при каких обстоятельствах файлы context.xml являются правильным ответом?