Развернуть Last в JBoss 5.1 в веб-конфигурации? - PullRequest
1 голос
/ 02 февраля 2011

У нас есть ухо, которое зависит от файла войны.
Мы используем веб-конфигурацию.
Я положил военный файл в каталог <jboss_home>/server/web/deploy.
И я положил ушной файл в каталог <jboss_home>/server/web/deploy/deploy.last.
Но ухо начинается до войны.
Почему?

1 Ответ

1 голос
/ 06 декабря 2012

Я использую конфигурацию, аналогичную описанной вами, хотя я помещаю все приложения, которые я хочу развернуть, сначала в deploy/myapps, а все приложения для развертывания в deploy/myapps.last. Это работает правильно для меня на JBoss 5.1.2.

Хотя я не могу объяснить, почему это не работает для вас, я могу предложить альтернативное решение. Вы можете заставить EAR объявлять зависимость от WAR, и JBoss затем будет гарантировать, что WAR будет развернут первым.

Сначала добавьте файл с именем aliases.txt в каталог META-INF вашей WAR. Этот файл должен содержать только одну строку с произвольным именем / идентификатором для вашей WAR. Например, если у вас есть mywebapp.war, ваш META-INF/aliases.txt файл может содержать «mywebapp». Это просто должно быть то, что не будет конфликтовать с другими псевдонимами, объявленными другими приложениями, развернутыми на том же сервере.

Затем добавьте файл jboss-dependency.xml в каталог META-INF вашего EAR, содержащий следующее (вместо «mywebapp» для псевдонима, созданного вами выше):

<dependency xmlns="urn:jboss:dependency:1.0">
  <item whenRequired="Real" dependentState="Create">mywebapp</item>
</dependency>

Это должно гарантировать, что WAR развернут перед EAR.

Кроме того, если вы попытаетесь развернуть EAR без наличия WAR, JBoss запишет четкое сообщение об ошибке развертывания, сообщающее о отсутствующей зависимости.

...