2013-02-28 2 views
0

Я новичок в weblogic и задаюсь вопросом: В консоли администрирования при развертывании вы можете выбрать развертывание и нажать на остановку (опция a: когда работа завершается, b: принудительно остановить сейчас, c: остановить, но продолжить обслуживание запросов администратора) , Что делает команда остановки? Я читал http://docs.oracle.com/cd/E15523_01/apirefs.1111/e13952/taskhelp/applications/StopDeployedEnterpriseApplications.htmlВ консоли администрирования weblogic> развертывания, что делает команда stop?

Но я до сих пор не понимаю. Из других чтений я собрал, что stop вызывает метод destroy() сервлета, если он существует, а затем удаляет контейнер (из развертываний?)? У меня есть сервлет с методом destory(), и я хочу понять, нужно ли мне его называть, или если это просто, просто удалите развертывание. Когда я пытаюсь заставить остановиться сейчас и остановится, когда работа завершается на развертывание я получаю эти сообщения:

The application _auto_generated_ear_ is in an incompatible state and will not be included in this operation. 
All of the Deployments selected are currently in a state which is incompatible with this operation. No action will be performed. 

Кто-нибудь есть ссылка на то, что процесс осуществляется за эти команды останова?

ответ

1

Прежде всего, вы не можете удалить приложение, если оно запущено. Если вы попытаетесь сделать это, вы получите сообщение об ошибке «Приложение xxxxx в настоящее время запущено и не может быть удалено».

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

Что делать, если вы перезагрузите сервер? Отправляется ли сообщение после перезапуска?

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

Edit: на основе комментариев

автоматически сгенерированное EAR сама функция является частью оптимизации для того, как OEPE публикует автономные WAR модули ВПУ. Функция развертывания с разделенным источником WLS требует EAR, поэтому OEPE генерирует один для пользователя в качестве развертывания с разделенным источником. Я подозреваю, что ваша проблема может быть вызвана этим автоматическим ухом.

Однако, похоже, что это среда разработки с разнесенным источником. Зачем вам нужно запускать/останавливать приложение или удалять приложение через консоль? Почему вы не можете просто перепечатать свое приложение на сервере через OEPE? Он заберет ваши новые изменения в приложении. Чтобы ответить на ваш вопрос, delete - это, в основном, развертывание приложения. Остановка не откладывает ваше приложение. Он просто прекращает обслуживание запросов. Приложение по-прежнему развертывается, как показано на экране развертывания.

+0

_auto_generated_ear был создан eclipse с использованием OEPE. Я использовал команду run on server в веб-динамическом проекте, в которой есть сервлет и определен в web.xml, а его контекстный корень определен в weblogic.xml. Он не находится в папке автоматического развертывания. Файл project.war находится в: base_domain \ servers \ AdminServer \ tmp \ .appmergegen_1361979966947 \ project.war Поскольку я новичок в weblogic/web-сервисах, я до сих пор не знаю, что создало _auto_generated_ear. Я думаю, что процесс развертывания веб-журнала создал это. Я не могу найти его в каталоге базового домена. – jon

+0

В консоли администрирования .war появляется как модуль _auto_generated_ear. И да, это приложение, которое я пытался остановить. Удалить работу.Сервлет создает некоторые потоки, и в методе уничтожения я изящно закрываю их. Как я уже упоминал, я не совсем понимаю разницу между остановкой и удалением (почему удаление работы и остановки не происходит?), Но я бы предпочел, чтобы использовать кнопки запуска/остановки/команду, а не повторно развертывать каждый раз , – jon

+0

Итак, я обнаружил, что _auto_generated_ear создается eclipse и находится в рабочей области \ .metadata \ .plugins \ org.eclipse.wst.server.core \ tmp1 \ base_domain \ _auto_generated_ear_ – jon

Смежные вопросы