JBoss автоматическое повторное развертывание - PullRequest
2 голосов
/ 29 сентября 2010

Насколько я понимаю, JBoss * отслеживает различные типы файлов в /deploy и выполняет определенные действия при изменении файла. Например, JBoss повторно развернет EAR, когда его last-modified время изменится.

Следовательно, я мог бы использовать какой-нибудь действительно неприятный код, чтобы заставить себя перераспределить EAR, например:

URL url = this.getClass().getClassLoader().getResource("../RavenWeb.ear");
String path = url.getPath();

File ear = new File(path);
ear.setLastModified(System.currentTimeMillis());

Но то, что я действительно хочу сделать, - это просто заставить JBoss повторно развернуть веб-приложение при изменении внешнего файла конфигурации. Скажем, файл конфигурации живет в C:/foo/bar.properties.

Есть ли MBean или какой-то другой способ добиться этого, который не заставит меня изуродовать велоцираптора ?


* Я использую JBoss 5.1.0, если это имеет значение.

Ответы [ 2 ]

0 голосов
/ 13 октября 2010

Я скопировал реализацию Log4JService и поместил ее в файл .sar.

Он просто опрашивает файл конфигурации, анализирует его и помещает объект конфигурации в JNDI, поэтомучто я могу получить его в моем приложении.Таким образом, вам не нужно повторно развертывать все приложение, и вы можете использовать новую конфигурацию в приложении.

Если вам нужно сделать что-то еще, кроме простой перезагрузки приложения, вы можете сделать это в этомсервис.

0 голосов
/ 29 сентября 2010

Я думаю, что ваш лучший снимок - это MBean, который будет перезагружать ваш файл конфигурации всякий раз, когда вы вызываете на нем функцию.Если вы не хотите, чтобы это происходило автоматически, вы также можете рассмотреть возможность использования MBean для обработки файла конфигурации.Таким образом, вы можете просто обновить свойства MBean вместо изменения файла конфигурации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...