dev2dev.bea.com.cn
首页 资源中心 dev2dev学堂 在线技术论坛 专家Blog User Group CodeShare

WLST——BEAWorld大会,第三部分

2005-12-05 00:00:00 | 评论 (0) | 被访问(520)次

Satya Ghattu
  Satya Ghattu加入BEA公司已经有4年多了,担任软件工程师,专门负责WebLogic Platform的Operations Administration以及Management方面。Satya拥有将近8年的软件开发经验,主要是在应用服务器、核心java以及相关的(J2EE)技术方面。他还领导着dev2dev上CodeShare中的几个开源项目,并向dev2dev社区贡献了大量的代码示例。Satya是WebLogic Scripting Tool (WLST)的最初设计者,该工具是BEA官方支持的WebLogic Server命令行工具。在加入BEA之前,他曾在许多软件公司担任各种不同的职务,做过高级Java开发人员、软件分析师,还做过Oracle数据库管理员。Satya持有俄亥俄州Akron大学的工程学硕士学位。


  我们继续演示,这是演示的最后一部分。
  现在我们有一个运行中的域,它包含属于一个集群的一个管理服务器、两个托管服务器。本部分的脚本将使用deploy命令将一个简单的web应用程序部署到集群中。WLS 9.0针对所有的部署实现了JSR88 API,WLST使用这些API来提供所有的部署功能。脚本如下:

from java.lang import Runtime
print "Deploying demo application"
deploy("demo", "d:/bea/apps", "mycluster")
print "Done deploying to cluster"
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler http://localhost:8001/beaworld")

  在脚本中,我使用了java.lang.Runtime类来启动一个指向刚刚部署的web应用程序的浏览器。这演示了Jython的一个非常有用的特性,即,能够无缝地调用任何Java对象。还可以通过WLST创建/修改部署计划(一个不在应用程序档案文件中的XML文档,它配置应用程序以便进行部署)。部署计划通过设置部署属性的值(通常定义在应用程序的WebLogic Server部署描述符中)或者通过重写已经定义的属性值而发挥作用。有关部署计划的更多信息,请参见BEA电子文档。在演示中,我使用一个将web应用程序的context root从beaworld重写为wlst的部署计划来重新部署web应用程序。下面是可用于创建计划并重写context root的脚本:

# This will load the application and return a plan object
myplan=loadApplication("d:/bea/apps")
# create a Variable
myplan.createVariable("croot","wlst")
# assign the variable to the module descriptor
cc=myplan.createVA("croot","apps","WEB-INF/weblogic.xml")
# set the xpath
cc.setXpath("/weblogic-web-app/context-root")
# save the plan
myplan.save()

重新部署脚本如下:

print "Re-Deploying demo application with a Plan"
redeploy("demo", planPath="d:/bea/plan.xml")
print "Done re-deploying to cluster with plan"
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler http://localhost:8001/beaworld")

plan.xml如下:

<deployment-plan xmlns="http://www.bea.com/ns/weblogic/90" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <application-name>apps</application-name>
      <variable-definition>
         <variable>
            <name>croot</name>
            <value>wlst</value>
         </variable>
      </variable-definition>
      <module-override>
         <module-name>apps</module-name>
         <module-type>war</module-type>
         <module-descriptor external="false">
            <root-element>weblogic-web-app</root-element>
            <uri>WEB-INF/weblogic.xml</uri>
            <variable-assignment>
               <name>croot</name>
               <xpath>/weblogic-web-app/context-root</xpath>
            </variable-assignment>
         </module-descriptor>
         <module-descriptor external="false">
            <root-element>web-app</root-element>
            <uri>WEB-INF/web.xml</uri>
         </module-descriptor>
      </module-override>
   <config-root xsi:nil="true"></config-root>
</deployment-plan></font>
演示结束。单击此处,可获得有关BEAWorld上的所有演讲的更多信息。北京BEAWorld请点击这里

原文出处:http://dev2dev.bea.com/blog/sghattu/archive/2005/10/wlst_beaworld_s_2.html



Tags: WLST BEAWorld script demo 脚本 演示
文章评论:(以下网友留言只代表个人观点,不代表BEA观点和立场)
暂时没有评论!

2005年12月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
             
RSS订阅

Satya Ghattu's Blog搜索