У нас есть приложение Axis2, которое мы запускаем на сервере приложений websphere. Приложение упаковано в файл WAR. Нам нужно запустить две копии одной и той же WAR в одной и той же копии websphere, и каждая копия приложения должна загрузить свой файл свойств из файловой системы. Я ищу что-то, что можно установить из консоли управления websphere при развертывании приложения, которое видно приложению и может использоваться для изменения того, как приложение ищет его свойства.
В данный момент файл свойств хранится в WAR, поэтому мы создаем разные версии WAR для каждой среды. Вместо этого мы хотели бы использовать один файл WAR, не зависящий от среды, с внешним файлом свойств, хранящимся в файловой системе. У нас это работает. Однако у нас есть две среды разработки, размещенные в одной и той же копии веб-сферы. Поэтому нам нужно развернуть две копии одной и той же WAR на одном и том же сервере websphere, и каждый экземпляр должен загрузить свой файл свойств.
Одна вещь, которую мы попробовали, была проверка корневого контекста. При развертывании двух копий приложения каждая из них должна иметь разный корневой контекст (первая часть URL-адреса, используемого для доступа к приложению), а Axis2 ConfigurationContext включает функцию для чтения корневого контекста. К сожалению, когда приложение работает в WAS, оно получает представление Axis2 о корне контекста, который всегда является «axis2», а не о реальном корне контекста, который использует WAS.
РЕДАКТИРОВАТЬ: Чтобы уточнить, мы хотим загрузить файл свойств во время запуска приложения (во время ServiceLifecycle.startup () для тех из вас, кто знаком с Axis2). В этот момент фактический запрос веб-службы не обрабатывается, поэтому у нас нет проверяемого контекста сообщения.