Определить, развернуто ли EAR на сервере WebLogic с использованием WLST? - PullRequest
3 голосов
/ 30 августа 2011

Я пытаюсь создать простой скрипт на python, который развертывает мой EAR-файл на AdminServer в Weblogic.Я искал в Интернете и документации, предоставленной Oracle, но я не могу найти способ определить, было ли приложение ранее развернуто.Я хотел бы, чтобы мой сценарий проверил, был ли он, и если да, введите команду повторного развертывания.Если нет, введите команду deploy.

Я попытался изменить примеры скриптов, которые я нашел, и, хотя они сработали, они не ведут себя так, как задумано.Одна из вещей, которую я пытался сделать, это проверить (используя команду cd), находится ли мой EAR в папке развертываний WebLogic, и, если это так, выполнить повторное развертывание.Если нет, он должен выдать исключение, где я бы выпустить развертывание.Однако при каждом запуске команды cd в моем сценарии создается исключение:

try:
    print 'Checking for the existence of the ' + applicationName + ' application.....'
    cd('C:\\Oracle\\Middleware\\user_projects\\domains\\base_domain\\config\\deployments\\MyTestEAR.ear\\')
    print 'Redeploying....'
    #Commands to redeploy....

except WLSTException:
    #Commands to deploy

Я запускаю этот сценарий в Windows с помощью команды execfile ("C: \ MyTestDeployer.py") после установки моегопеременные окружения с помощью WLST Scripting Tool.Есть идеи?Я также попытался использовать другой путь в моей команде CD, но безрезультатно.Есть идеи?

Ответы [ 3 ]

3 голосов
/ 12 августа 2012

у меня работает:

print 'stopping and undeploying ...'

try:
    stopApplication('WebApplication')
    undeploy('WebApplication')
    print 'Redeploying...'

except Exception:
    print 'Deploy...'

deploy('WebApplication', '/home/saeed/project/test/WebApplication/dist/WebApplication.war')
startApplication('WebApplication2')
2 голосов
/ 10 сентября 2011

Я делал что-то подобное в прошлом, но с другим подходом ...

Я использовал интерфейс weblogic.Deployer с опцией -listapps, чтобы вывести список приложений / библиотек, развернутых вдомен, который я затем сравнил бы с отображаемым элементом application.xml, сгенерированным в архиве

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

Используя отображаемое имя, я стандартизировал имя приложения, которое будет развернуто, и позже по сравнению с новым архивом, который будет повторно развернут.

0 голосов
/ 01 марта 2019

Используйте команду listApplications() в режиме онлайн для просмотра списка всех приложений, которые в данный момент развернуты в домене WebLogic.

В случае ошибки команда возвращает исключение WLSTException.

Пример:

wls:/mydomain/serverConfig> listApplications() 
SamplesSearchWebApp
asyncServletEar
jspSimpleTagEar
ejb30
webservicesJwsSimpleEar
ejb20BeanMgedEar
xmlBeanEar
extServletAnnotationsEar
examplesWebApp
apache_xbean.jar
mainWebApp
jdbcRowSetsEar

Источник: ссылка

...