В среде Java EE (случается, что это WAS 6.1, но это может быть любой сервер приложений) мне нужно разместить XML-файл, который является файлом конфигурации, чтобы я мог читать и записывать в него.
Это должно быть доступно в кластерной среде, поэтому я смотрю на использование пути к классам для загрузки файла.
Я думаю, что могу сохранить этот файл в корне EAR, сослаться на него в манифесте, а затем загрузить и сохранить его.
Я попробовал этот подход, поместив мой файл в JAR и сделав его доступным через МАНИФЫ, и я могу без проблем загрузить файл конфигурации из пути к классам, используя следующее.
this.getClass().getClassLoader().getResourceAsStream("configFileName");
Это загружает файл, который находится в JAR, который является фантастическим. Но если я хочу редактировать этот файл программным способом, я не могу получить доступ к расположению файлов JAR (корень EAR), он возвращает мне интерпретированный путь, подобный этому:
/usr/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/localhostNode01Cell/MyApp.ear/MyApp.war/TB_config.jar
Это не правильное местоположение JAR, правильное местоположение на MyApp.ear.
Итак, вопрос: как я могу получить доступ и обновить (скопировать содержимое, создать новый, сохранить, удалить старый) JAR с моим файлом конфигурации.
Или я должен положить файл конфигурации в другом месте?
Что такое стандарт Java EE, чтобы сделать файлы, которым требуется доступ на чтение / запись, доступными для WAR в кластере?