Как мне узнать, что приложение WebSphere установлено в Jython? - PullRequest
0 голосов
/ 25 сентября 2018

При развертывании приложения .ear в WebSphere у меня возникает проблема при установке общих библиотек.Я использую обходной путь для решения моей проблемы, например

  [... code to install the application]
  && sleep 60 
  && /opt/IBM/WebSphere/AppServer/bin/wsadmin.sh -lang jython -c \
    "AdminApp.edit('appname', ['-MapSharedLibForMod', [['.*','.*', 'ibm']]])"

, потому что мне нужно быть уверенным, что файл .ear был установлен перед вызовом AdminApp.edit

Как мне избавитьсякоманды sleep?Есть ли способ получить сигнал о том, что приложение установлено?

1 Ответ

0 голосов
/ 25 сентября 2018

В моем сценарии развертывания (bash) я вызываю:

#!/bin/bash

$DM_WAS_HOME/wsadmin.sh -f $SCRIPTS_HOME/application_deploy.jacl $WORKING_DIRECTORY/appServer/$EAR_NAME $dmserver

if [ $? -eq 0 ]
then 
    $DM_WAS_HOME/wsadmin.sh -lang jython -f $SCRIPTS_HOME/link_shared_lib.jython
    if [ $? -ne 0 ]
    then
         echo "ERROR: could not link libraries."
         exit 2
    fi
else
    echo "ERROR: installation failed, fix it"
    exit 1
fi

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

Установка приложения jacl устанавливает кучу переменных и вызовов:

$AdminApp update $appname app $updateopts
$adminConfig save
foreach nodeName $SyncNode {
    puts "Syncing $nodeName"
    $AdminControl invoke $nodeName sync
}

Так что угоднотам не работает правильно, статус выхода! = 0.
Да, я знаю, что должен переписать свой jacl в jython (все еще на WAS 7 для этого приложения).

...