我们继续演示,这是演示的最后一部分。
现在我们有一个运行中的域,它包含属于一个集群的一个管理服务器、两个托管服务器。本部分的脚本将使用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