使用wsadmin脚本创建MQQueueConnectionFactory - JACL篇第一部分

本文详细介绍了如何使用IBM WebSphere的wsadmin工具和JACL脚本语言创建MQ队列连接工厂,包含配置步骤、参数说明和完整代码示例,帮助系统管理员实现自动化配置。

使用wsadmin脚本创建MQQueueConnectionFactory - JACL篇第一部分

在处理冗长的Java代码时,我遇到了令人崩溃的配置难题——这是我们每隔一天就会面临的困境。每次在RAD(Rational Application Developer)中创建新配置文件时,我都需要手动进入管理控制台配置MQ、工厂、数据源等。

作为熟悉Linux的用户,我无法忍受在编程时频繁点击操作。幸运的是,IBM为WebSphere提供了两种脚本语言:JACL和Jython(未来版本中JACL将被弃用,Jython将成为主要工具)。

什么是JACL?

JACL(Java Command Language,发音为"JACKAL")是类似于Tcl的Java脚本语言,运行在JVM上,解释器完全用Java编写。

实战:使用JACL创建WebSphere MQ连接工厂

步骤1:标识提供者

1
set tmp1 "WebSphere MQ JMS Provider"

步骤2:获取服务器单元和节点名称

通过配置文件路径确定单元名称(如BNode05Cell)和节点名称(如BNode05)

1
set newjmsp [$AdminConfig getid /Cell:CELLNAMECell/Node:NODENAME/JMSProvider:$tmp1/]

步骤3:设置工厂属性

可配置属性包括:名称、jndi名称、队列管理器、主机名、端口、通道、传输类型、XA支持等

查看必需参数:

1
$AdminConfig required WASQueueConnectionFactory

查看所有参数(必需和可选):

1
$AdminConfig attributes WASQueueConnectionFactory

属性设置示例:

1
2
3
4
5
6
7
8
set name [list name NAME]
set jndi [list jndiName jms/JNDINAME]
set qManager [list queueManager QMANAGER]
set sname [list host HOSTNAME]
set port [list port 1414]
set channel [list channel CHANNEL]
set ttype [list transportType CLIENT]
set xa [list XAEnabled false]

步骤4:合并所有参数

1
set mqcfAttrs [list $name $jndi $qManager $sname $port $channel $ttype $xa]

步骤5:创建工厂并保存

1
2
$AdminConfig create MQQueueConnectionFactory $newjmsp $mqcfAttrs
$AdminConfig save

完整代码示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
set tmp1 "WebSphere MQ JMS Provider"
set newjmsp [$AdminConfig getid /Cell:CELLNAMECell/Node:NODENAME/JMSProvider:$tmp1/]
set name [list name NAME]
set jndi [list jndiName jms/JNDINAME]
set qManager [list queueManager QMANAGER]
set sname [list host HOSTNAME]
set port [list port 1414]
set channel [list channel CHANNEL]
set ttype [list transportType CLIENT]
set xa [list XAEnabled false]
set mqcfAttrs [list $name $jndi $qManager $sname $port $channel $ttype $xa]
$AdminConfig create MQQueueConnectionFactory $newjmsp $mqcfAttrs
$AdminConfig save

运行脚本

可以将脚本保存到本地文件,然后通过以下命令运行:

1
wsadmin -profileName test_wsp -f $SCRIPT_FILENAME_LOCATION$

wsadmin工具通常位于服务器安装目录的bin文件夹中,例如:../Rational/SDP/6.0/runtimes/base_v6/bin

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计