wsadmin 是 Websphere Application Server 提供的脚本工具,它支持开发人员通过脚本对服务器进行管理和配置。本文首先对 wsadmin 以及脚本语言 Jython 进行介绍,之后,本文将介绍一种通过 XML 配置文件扩展 wsadmin 以及脚本的方法,该方法允许部署人员通过 XML 文件定义服务器的配置步骤和应用部署过程,从而提高 wsadmin 以及脚本的可用性。
在发布一个运行于 WebSphere Application Server 的 J2EE 应用之前,对服务器进行配置和部署应用是必不可少的一个过程,这个过程是非常复杂的。WAS 为用户提供了可视化的管理控制台(Web Admin Console)来完成这一任务。即便如此,开发或部署人员仍需要接受培训,并花费一定的时间和精力来完成这些配置和部署工作。对于一个开发团队来说,如果每个团队成员都要手工的完成环境配置和应用部署,其代价是比较高的。
本文介绍使用 wsadmin 工具配合 Jython 脚本来完成服务器的环境配置和应用部署。配置和部署脚本一经编写,就可以多次重复使用。以自动化的脚本代替手工操作,是提高工作效率的重要一环。在此基础上,本文介绍一种使用 XML 文件对 wsadmin 命令行工具和 Jython 脚本进行扩展,从而实现服务器的环境配置和应用部署的方法。我们为该方法提供了 Jython 实现,相关的脚本已经在 WAS 6.0 和 7.0 版本上验证通过。在文章中,我们将详细阐述这种方法并简要描述 XML 文件格式。此外,本文将说明 XML 文件解析与运行模块的实现原理,以便读者能够添加所需的功能模块。
Wsadmin 工具与脚本简介
wsadmin 工具简介
wsadmin 脚本工具引入于 IBM WebSphere Application Server V5。它是一个接受脚本语言输入的非图形化管理工具,用户可以使用 wsadmin 工具执行那些可以用管理控制台执行的相同任务。
wsadmin 目前只支持 Jython 和 Jacl 两种脚本语言。本文选取 Jython 脚本作为示例代码,对使用自动化脚本进行服务器配置、管理进行说明。我们将会应用部署为例编写 Jython 脚本,即便是第一次接触 Jython 脚本的开发人员也能很快的了解并使用它们。
启动 wsadmin 工具
开发人员可以通过 wsadmin.bat(windows)或 wsadmin.sh(Linux 或 AIX)来启动 wsadmin 工具。这两类文件既可以在 WAS 概要文件的 bin 目录(${profile_root}/bin)中找到,也可以 WAS 的 bin 目录(${app_server_root}/bin)中找到。在 WAS 的 bin 目录下的启动命令在运行时需要指定 -profileName 参数,而在特定概要文件的 bin 目录下的启动命令则不用指定。
wsadmin 工具可以以交互式或批处理式两种方式运行。以交互式运行时,开发人员可以在 wsadmin 工具中运行单条命令。在 windows 系统中启动交互式 wsadmin 工具的命令如下:
此外,开发人员还可以通过 wsamin 工具运行批处理脚本。批处理脚本需要通过 -profile 参数指定:
|
Jython 语言介绍
Jython 语言是 wsadmin 目前所支持的两种脚本语言之一。Jython 解释器为脚本提供了控制流的支持以及各种辅助命令,此外,通过对 wsadmin 工具提供的脚本对象的访问,Jython 扩展了自身功能,从而使开发人员可以利用编写脚本来实现应用部署、服务器的管理和配置。
Jython 基本语法
Jython 语言是 Python 的一个 Java 实现,wsadmin 工具使用的是 Jython V2.1。Jython 是动态类型语言,开发人员不用像 Java 那样声明变量类型,因为变量的类型是运行时决定的。
Jython 的基本数据类型包括数字类型、布尔类型和字符串类型。Jython 的数字类型包括整型和浮点型:
wsadmin>a=1.33
wsadmin>print a
1.33
以上的语句将浮点数 1.33 赋给变量 a,并通过 print 命令在控制台输出变量 a 的值。Jython 中的字符串类型也与 Java 类似,不同的地方在于单引号和双引号在 Jython 中的功能是相同的:"My String" 和 'My String' 在 Jython 中被认为是一样的。Jython 为这些基本类型提供了各种运算符:布尔类型的 or 和 and 运算符、数字类型的+、-、*、/ 和%运算符以及字符串类型的+运算符。
wsadmin>print 'My '+'String'
My String
以上的语句将两个字符做连接并打印在控制台上。除了运算符,Jython 还提供了一系列字符串处理方法,其中常用的有:
在数字类型和字符串的基础上,Jython 提供了列表类型,列表中的每个元素都可以是数字类型、布尔类型、字符串或是一个子列表。开发人员可以通过中括号来创建列表:
wsadmin>list=['a','b',['c','d'],'e']
wsadmin>print list[0]
a
wsadmin>print list[2][1]
d
以上的语句创建了两个列表,其中一个包含['c','d']两个元素,同时,以该列表为第3个元素(下标为2)创建另一个列表并赋值给变量 list。Jython 也为列表类型提供了各种处理方法,其中常用的有:
本文转自IBM Developerworks中国
请点击此处查看全文