在了解WLST定制命令之前,简单说一下WLST,WLST 全称叫Weblogic Scripting Tool, 它提供了一组预定义命令来方便Weblogic的用户通过命令行对Weblogic 实例,域进行管理。WLST运行环境基于Java 脚本解析器Jython,Weblogic 开发人员可以使用Jython语法对其进行扩展。我们可以通过help() 命令来了解WLST命令的使用说明。如下图所示
那什么是WLST的定制命令呢? 那得从Oracle Fusion Middleware 说起,Oracle Fusion Middleware 是迄今 Oracle最全的一个软件产品集合,其中就包括大价钱收购来的Java应用服务器 Weblogic。 OracleFusion Middleware 中许多产品组件如Oracle SOA Suite, Application Development Framework(ADF), Meta data Service (MDS), logging 等等,都依托在 Weblogic之上 。那么,为了在Weblogic现有的WLST之上提供针对不同组件所特有的命令组合,以满足客户通过命令行对系统进行维护的要求,就产生了WLST的定制命令。比如上面提到的logging,WLST 提供了定制命令组合对Log的级别和Log文件的大小进行设定,同时还提供了log文件的搜索查看功能。这里不对具体命令进行说明,如有兴趣可参看Oracle官方提供的Logging 定制WLST命令参考。.另外,还有针对OracleSOA Suite,WLST的定制命令包括部署卸载SOA Composite Applications (SCA),打包、编译SCA,导入导出SCA等等。请参考Oracle官方提供的SCA定制WLST命令参考。
这里我拿一个SCA定制命令sca_deployComposite 来完成sca的部署任务。我们有一个在分区 ‘MATT_TESTING’ ,我尝试用上述定制命令将SCA sca -SimpleApproval[1.0] 进行部署。通过 find ./ -namewlst.sh,我在服务器上找到了如下四个包含wlst.sh的目录。
./data/app/oracle/product/fmw/oracle_common/common/bin/wlst.sh
./data/app/oracle/product/fmw/soa/common/bin/wlst.sh
./data/app/oracle/product/fmw/wlserver_10.3/common/bin/wlst.sh
./data/app/oracle/product/fmw/web/common/bin/wlst.sh
那要完成这个部署操作,我该进入哪个目录执行wlst.sh命令呢? 既然是Weblogic的WLST, 自然我就首先选择第三个路径试试了。
结果如上图所示,出现了如下错误
Traceback (innermost last):
File "<console>", line 1, in ?
NameError: sca_deployComposite
难道是我进错目录了吗? 可都是wlst.sh命令啊. 那试试第二个。成功!
回头,看看SCA的状态,部署成功。
上面的图片显示的是Oracle BPM Enterprise Manager 图形界面。
上述部署实验,引出了另一个问题。就是不同的OracleFusion Middleware 组件的定制命令是否是安装在不同的目录下面? 答案是肯定的。OracleSOA Suite的wlst定制命令存放在其对应的安装目录 ./data/app/oracle/product/fmw/soa/common/bin/wlst.sh
而,我第一次尝试的目录 ./data/app/oracle/product/fmw/wlserver_10.3/common/bin/wlst.sh并不包含WLST 定制命令.
参看 Oracle 文档使用WLST Custom Commands.