【问题标题】:Determine if EAR Has Been Deployed in WebLogic Server Using WLST?使用 WLST 确定 EAR 是否已部署在 WebLogic Server 中?
【发布时间】:2023-03-20 18:12:01
【问题描述】:

我正在尝试创建一个简单的 python 脚本,将我的 EAR 文件部署到 Weblogic 的 AdminServer。我已经搜索了 Internet 和 Oracle 提供的文档,但我找不到确定应用程序之前是否已部署的方法。我希望我的脚本检查它是否已经存在,如果是,则发出重新部署命令。如果没有,请发出部署命令。

我尝试修改我找到的示例脚本,虽然它们有效,但它们的行为并没有达到预期。我尝试做的一件事是检查(使用 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

在使用 WLST 脚本工具设置环境变量后,我正在使用 execfile("C:\MyTestDeployer.py") 命令在 Windows 上运行此脚本。有任何想法吗?我也尝试在我的 cd 命令中使用不同的路径,但无济于事。有什么想法吗?

【问题讨论】:

    标签: python weblogic ear wlst


    【解决方案1】:

    它对我有用:

    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')
    

    【讨论】:

    • 谢谢赛义德。我想我想太多了。
    • 这是 WLST 脚本吗?
    【解决方案2】:

    我过去曾做过类似的事情,但采用了不同的方法......

    我已使用带有 -listapps 选项的 weblogic.Deployer 接口来列出部署到域的应用程序/库,然后我会将其与存档中生成的 application.xml 的 display-name 元素进行比较

    在我的例子中,我发现使用纯文件名的问题是存档带有它们的生成日期。这将导致总是错误的比较。

    使用显示名称,我已经标准化了将要部署的应用名称,然后与要重新部署的新存档进行比较。

    【讨论】:

    • 嗨 vhnd。你能详细说明一下吗?我不确定你的确切意思。
    • 就我而言,我只使用了 bash... weblogic.Deployer 接口将输出保存在普通文件中以供以后使用,并解压缩命令以检查 .ear 中的 application.xml 文件。相同的脚本会为许多不同的域执行此操作,因此我只需连接到给定域,检查已部署的应用程序,然后检查我必须部署的内容是否存在。我只是说我开始检查无论同一个应用程序的存档文件名如何都不会改变的东西。抱歉,不确定您希望我在哪里更具体。
    【解决方案3】:

    在联机模式下使用命令listApplications() 列出当前部署在WebLogic 域中的所有应用程序。

    如果发生错误,该命令将返回 WLSTException。

    例子:

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

    来源:link

    【讨论】:

      猜你喜欢
      • 2012-12-12
      • 2017-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-20
      • 1970-01-01
      相关资源
      最近更新 更多