Я запускаю несколько приложений сервлетов в Tomcat (5.5). Все сервлеты используют общий фабричный ресурс, который используется совместно с помощью JNDI. В настоящее время я могу заставить все работать, включив фабричный ресурс в качестве GlobalNamingResource в файл /conf/server.xml, а затем добавив в файл META-INF / context.xml каждого сервлета ResourceLink. Фрагменты из файлов XML включены ниже. ПРИМЕЧАНИЕ: я не очень знаком с tomcat, поэтому я не говорю, что это хорошая конфигурация !!!
Однако теперь я хочу иметь возможность устанавливать эти сервлеты в несколько экземпляров tomcat автоматически, используя RPM. RPM сначала скопирует WAR-файлы в каталог webapps, а jar-файлы для фабрики в общий каталог / lib (что нормально). Но также необходимо убедиться, что фабричный ресурс включен в качестве ресурса для всех сервлетов.
Как лучше всего добавить ресурс в глобальном масштабе? Я не слишком заинтересован в написании сценария, который входит в файл server.xml и добавляет ресурс таким образом.
Могу ли я добавить несколько файлов server.xml, чтобы я мог написать новый файл server-app.xml, и он объединит мои настройки с server.xml? Или, что еще лучше, добавить этот ресурс JNDI ко всем сервлетам без использования server.xml?
p.s. Перезагрузка сервера не будет проблемой, поэтому я не возражаю, если изменения не будут получены автоматически.
Спасибо
Фрагмент из server.xml
<!-- Global JNDI resources -->
<GlobalNamingResources>
<Resource name="bean/MyFactory"
auth="Container"
type="com.somewhere.Connection"
factory="com.somewhere.MyFactory"/>
</GlobalNamingResources>
Файл META-INF / context.xml всего сервлета
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<ResourceLink global="bean/MyFactory"
name="bean/MyFactory"
type="com.somewhere.MyFactory"/>
</Context>