Повторное развертывание сервера приложений JBoss - PullRequest
1 голос
/ 27 октября 2009

Мне нужен скрипт оболочки Windows, который повторно развернет мой файл .ear. Я написал один:

net stop "JBAS50SVC"
copy /y O:\TEMP\app.ear C:\jboss-4.2.3.GA\server\default\deploy\app.ear
net start "JBAS50SVC"

Но проблема в том, что когда я пытаюсь остановить службу JBoss, она не полностью выгружается (мое предложение), поэтому при запуске я не запускаю приложение в JBoss.

Ответы [ 5 ]

2 голосов
/ 27 октября 2009

Вы упомянули, что JBoss становится очень медленным, когда вы используете autoDeploy и работаете на сервере в течение месяца или более. Вероятно, это связано с тем, что память вашего постоянного поколения заполняется с течением времени. См этот связанный вопрос .

Я думаю, вам лучше всего использовать функцию autoDeploy, как предлагают другие, и периодически перезагружать весь сервер, чтобы очистить PermGen. Есть несколько способов отследить использование PermGen; Я добавляю следующее в JAVA_OPTS в run.conf:

-XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -Xloggc:$LOGDIR/gc.log
1 голос
/ 27 октября 2009

Обычно для повторного развертывания приложения, которое содержится в ухе, в jboss просто требуется заменить ухо. Если в приложении есть что-то еще (например, классы, которые должны находиться в каталоге lib в jboss), тогда может потребоваться перезапуск.

От того, как его перезапустить, зависит, что вы используете для запуска jboss как службы. Некоторые запускающие сервисы фактически не контролируют jvm после запуска, поэтому перезапуск сервиса просто запускает второй экземпляр. Вы можете завершить работу jboss с помощью сценария завершения работы в каталоге JBOSS_HOME / bin (shutdown.bat), а затем развернуть и перезапустить службу. При этом обязательно сделайте паузу, поскольку команда shutdown выдаст запрос на завершение работы, возможно, сервер все еще работает.

1 голос
/ 27 октября 2009

Вы можете просто скопировать / переименовать файл EAR для развертывания каталога. JBoss автоматически позаботится о повторном развертывании для вас.

1 голос
/ 27 октября 2009

Как упоминалось ранее, jboss автоматически развертывает все, что вы копируете, в каталог развертывания по умолчанию.

Если нет, проверьте, работаете ли вы с виртуальным хостом, который не выполняет автоматическое развертывание файлов ear.

<Host name="vhost2" autoDeploy="false" .... />

кроме этого, я чувствую, что это совершенно другая ошибка из-за того, что jboss позаботится о развертывании для вас. Пожалуйста, проверьте файлы журнала на наличие ошибок запуска вашего приложения.

0 голосов
/ 27 октября 2009

Возможно, вы захотите проверить вики сообщества JBoss , здесь, несомненно, есть более простые и надежные методы, чем командный файл.

Остановка сервера не должна удалять приложение - в этом нет особого смысла.

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