【问题标题】:How do I get that a WebSphere application has been installed in Jython?如何得知 WebSphere 应用程序已安装在 Jython 中?
【发布时间】:2019-02-28 21:39:29
【问题描述】:

当我在 WebSphere 中部署 .ear 应用程序时,我在安装共享库时遇到了问题。我使用一种解决方法来解决我的问题

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

因为在调用AdminApp.edit之前我需要确保.ear文件已经安装

如何摆脱sleep 命令?有没有办法获得应用程序已安装的信号?

【问题讨论】:

    标签: websphere jython ear wsadmin


    【解决方案1】:

    在我的部署脚本 (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 上)。

    【讨论】:

      猜你喜欢
      • 2013-07-05
      • 1970-01-01
      • 1970-01-01
      • 2018-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      相关资源
      最近更新 更多