【问题标题】:weblogic undeploy apps command lineweblogic 取消部署应用程序命令行
【发布时间】:2014-08-03 16:28:41
【问题描述】:

我有一个要求,我需要使用命令行在 weblogic 中取消部署 war 文件,下面的代码为我做:

 java weblogic.Deployer -adminurl t3://localhost:8001 -user weblogic -password password123  -name <name> -undeploy 

但每次部署后文件名都会改变,即(文件 1.0.0 和文件 1.1.1)。

我需要一个命令,以便它取消部署该服务器中存在的所有文件。

谁能告诉我如何一次性取消部署所有文件?

提前致谢,

维沙尔

【问题讨论】:

    标签: javascript batch-file weblogic wlst


    【解决方案1】:

    我发现了如何取消部署所有应用程序:

    List Apps:
    
    
    import sys
    connect('weblogic','weblogic10','http://autowfm-vmh:7259')
    cd("AppDeployments")
    app = ls(returnMap='true')
    domainRuntime()
    cd("AppRuntimeStateRuntime/AppRuntimeStateRuntime")
    
    i=1
    f = open('filename.txt','w')
    for appName in app:
    
    print >>f, appName
    
    i=i+1
    f.close()
    exit()
    
    Undeploy :
    
    import os
    connect('weblogic','weblogic','http://localhost:7001')
    target='AdminServer' 
    f = open(r'D:\filename.txt','r') 
    print f 
    
    for i in range(10): 
    line=f.readline() 
    line1=line[:-1] 
    appName='./'+line1 
    print '*****************'+appName 
    
    undeploy(appName=line1)
    exit()
    

    【讨论】:

      【解决方案2】:

      如果您想编写一个更通用的答案,您可以通过以下方式列出所有应用:

      java -cp /opt/ora/mw/wlserver_10.3/server/lib/weblogic.jar weblogic.Deployer 
      -adminurl t3://host:port  -username weblogic -password  weblogic1 -listapps
      

      然后解析该输出以开始删除应用程序。

      【讨论】:

      • 感谢 Castling,但我不会获得应用名称,我可以直接解析它以进行取消部署。会有一个带有 TaskID 的列表......我的要求是获取应用名称
      • 您也可以使用 WLST 列出并删除它们:wlstbyexamples.blogspot.com/2010/03/… 就像 COLINHY 提到的那样,您在做什么有点不清楚
      【解决方案3】:

      &lt;name&gt; 应该是模块名称而不是文件(war 或 ear)名称。使用不带-targets-submoduletargets 标志的-undeploy 命令会从所有WebLogic Server 实例中完全删除应用程序或独立模块,并取消所有JMS 子模块资源的目标。 顺便说一句,添加 -graceful 选项将允许当前 HTTP 客户端在取消部署之前完成其工作。 注意:取消部署部署单元不会删除用于部署的原始源文件。它只会从域中删除部署的配置,以及 WebLogic Server 在部署期间创建的任何部署文件(例如,使用阶段部署模式复制的文件和上传到管理服务器的文件)。

      【讨论】:

      • 是的 Colinhy,我知道这一点,但我的要求是在不提供应用部署名称的情况下一次性取消部署服务器中部署的所有应用。随着每次部署的应用名称更改。
      • 那你的问题不清楚。在这种情况下,您只需添加此处描述的步骤:stackoverflow.com/questions/14499370/…
      【解决方案4】:

      我发现了如何在不使用文件的情况下取消部署所有应用程序

      def undeployWars():
          cd("AppDeployments")
          namesWars = ls(returnMap='true')
          for nameWar in namesWars:
              undeploy(nameWar)
      
      
      connect('weblogic', 'weblogic01', 't3://localhost:7001')
      undeployWars()
      disconnect()
      exit()
      

      【讨论】:

        猜你喜欢
        • 2012-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-22
        • 1970-01-01
        • 2013-07-17
        相关资源
        最近更新 更多