运行tuxedo一直提示wsnat_cat:1175 急求电子商务解决方案案!!

服务热线:400-702-1168 ()
您好,访客
||||||||||
ubuntu 7.04下面tuxedo 9.1 + oracle 9i 总算搭好了
发布时间: 23:36:00&&来源:
ChinaUnix博客  &&作者:
ChinaUnix博客  &&点击:1912
& & & & & & & & & & & & & & & &   本来以为 tuxedo Array.1 + oracle 10g client 安装完毕,配置也搞定,接着就可以写应用了。谁知道,天有不测风云,TMS_ORA 总是无法启动,一启动就挂了。现象是:
看上去正常
Booting all admin and server processes in /tuxedo/tuxedoArray.1/samples/me/tuxconfig
INFO: BEA Tuxedo, Version Array.1, 32-bit, Patch Level (none)
INFO: Serial #: 4544Array, Expiration , Maxusers 100
INFO: Licensed to: BEA Evaluation Customer
Booting admin processes ...
exec BBL -A :
& && &&&process id=7120 ... Started.
Booting server processes ...
exec TMS_ORA -A :
& && &&&CMDTUX_CAT:81Array: INFO: Process id=7121 Assume started (pipe).
exec TMS_ORA -A :
& && &&&CMDTUX_CAT:81Array: INFO: Process id=7124 Assume started (pipe).
这个一看就觉得不对劲了,什么叫假设启动了?
exec simpserv -A :
& && &&&process id=7127 ... Started.
exec testbcsrv -A :
& && &&&CMDTUX_CAT:81Array: INFO: Process id=7128 Assume started (pipe).
exec WSL -A -- -n //1Array2.168.1.6:7200 -m 5 -M 10 -x 10 :
& && &&&process id=7131 ... Started.
6 processes started.
但是tmadmin看了一下状态就不对了:
Prog Name& && &Queue Name&&Grp Name& && &ID RqDone Load Done Current Service
---------& && &----------&&--------& && &-- ------ --------- ---------------
BBL& && && && &123456& && &simple& && && &0& && &0& && && &0 (&&IDLE )
simpserv& && &
GROUP1& && && &1& && &0& && && &0 (&&IDLE )
TMS_ORA& && &&&GROUP1_TMS&&GROUP1& &&&30001& && &0& && && &0 ( DEAD )
testbcsrv& && & GROUP1& && && &2& && &0& && && &0 ( DEAD )
TMS_ORA& && &&&GROUP1_TMS&&GROUP1& &&&30002& && &0& && && &0 ( DEAD )
WSL& && && && & GROUP1& && & 130& && &0& && && &0 (&&IDLE )
Service Name Routine Name Prog Name&&Grp Name&&ID& & Machine&&# Done Status
------------ ------------ ---------&&--------&&--& & -------&&------ ------
TOUPPER& && &TOUPPER& && &simpserv& &GROUP1& &&&1& &&&simple& && & 0 AVAIL
TMS& && && & TMS& && && & TMS_ORA& & GROUP1 30001& &&&simple& && & 0 AVAIL
TEST& && && &TEST& && && &testbcsrv&&GROUP1& &&&2& &&&simple& && & 0 AVAIL
TMS& && && & TMS& && && & TMS_ORA& & GROUP1 30002& &&&simple& && & 0 AVAIL
怎么有几个都是DEAD状态呢?
111612.redegao!BBL.552.0: 08-26-2007: Tuxedo Version Array.1, 32-bit, Patch Level (none)
111612.redegao!BBL.552.0: LIBTUX_CAT:262: INFO: Standard main starting
111612.redegao!TMS_ORA.064.0: 08-26-2007: Tuxedo Version Array.1, 32-bit
111612.redegao!TMS_ORA.064.0: LIBTUX_CAT:262: INFO: Standard main starting
111613.redegao!TMS_ORA.Array68.0: 08-26-2007: Tuxedo Version Array.1, 32-bit
111613.redegao!TMS_ORA.Array68.0: LIBTUX_CAT:262: INFO: Standard main starting
111614.redegao!simpserv.464.0: 08-26-2007: Tuxedo Version Array.1, 32-bit
111614.redegao!simpserv.464.0: LIBTUX_CAT:262: INFO: Standard main starting
111614.redegao!simpserv.464.0: Welcome to the simple server
111614.redegao!simpserv.464.0:
LIBTUX_CAT:6205: WARN: Server initialization function did not call
tx_open() or tpopen() or this call failed
111614.redegao!testbcsrv.715Array.3063Array448Array6.0: 08-26-2007: Tuxedo Version Array.1, 32-bit
111614.redegao!testbcsrv.715Array.3063Array448Array6.0: LIBTUX_CAT:262: INFO: Standard main starting
111615.redegao!WSL.ArrayArray648.0: 08-26-2007: Tuxedo Version Array.1, 32-bit
111615.redegao!WSL.ArrayArray648.0: LIBTUX_CAT:262: INFO: Standard main starting
111615.redegao!WSH.840.0: 08-26-2007: Tuxedo Version Array.1, 32-bit
111615.redegao!WSH.840.0: WSNAT_CAT:1030: INFO: Work Station Handler joining application
111615.redegao!WSH.Array-26-2007: Tuxedo Version Array.1, 32-bit
111615.redegao!WSH.Array6656.0: WSNAT_CAT:1030: INFO: Work Station Handler joining application
111615.redegao!WSH.352.0: 08-26-2007: Tuxedo Version Array.1, 32-bit
111615.redegao!WSH.352.0: WSNAT_CAT:1030: INFO: Work Station Handler joining application
111615.redegao!WSH.432.0: 08-26-2007: Tuxedo Version Array.1, 32-bit
111615.redegao!WSH.432.0: WSNAT_CAT:1030: INFO: Work Station Handler joining application
111615.redegao!WSH.5Array2.0: 08-26-2007: Tuxedo Version Array.1, 32-bit
111615.redegao!WSH.5Array2.0: WSNAT_CAT:1030: INFO: Work Station Handler joining application
111614.redegao!simpserv.464.0:
LIBTUX_CAT:6205: WARN: Server initialization function did not call
tx_open() or tpopen() or this call failed
这个的原因呢?
最后搜遍BAIDU GOOGLE,最后在DEV2DEV上找到了某人出现了类似的现象:
.cn/bbs/thread.jspa?forumID=4&threadID=37488&tstart=0
coredump的现象一模一样。
最后的结论是
“把tuxedo打一下最新的patch。这个问题是由于Tuxedo和Oracle有些库相互冲突造成的,软件本身没有问题。”
我连TUXEDO的patch都没找到,狂汗啊。哪位知道的一定告诉我。
最后没辙了,卸载了oracle 10g client 重装了Arrayi client(三张光盘大小,太胖~~),经过一番折腾,终于装好了,过程大概说一下:
文件解出来后,有三个目录 Disk1 Disk2 Disk3
切换到Disk1/install/linux
运行 ./runInstaller
出错,ubuntu缺省不能启动xhost +
修改配置文件/etc/X11/gdm/gdm.conf
将DisallowTCP=true 改为 false。
再在root 下面执行xhost + OK。
好了。这下应该出现安装界面了。
安装到最后 net config就无法继续了,只得退出来,手工设置
&cd $ORACLE_HOME
Exception in thread &main& java.lang.VerifyError: (class: oracle/net/mgr/servicename/DBPanel$1, method: actionPerformed signature
进行下面的修改# Run Net Manager
$JRE -classpath $CLASSPATH oracle.net.mgr.container.NetApplication oracle.net.mgr.container.NetApplication
# Run Net Manager
$JRE -noverify -classpath $CLASSPATH oracle.net.mgr.container.NetApplication oracle.net.mgr.container.NetApplication
就可正常运行了。
/u01/oracle/product/Array.2.0.1/JRE/bin/jre:101:Syntax error: word unexpected (expecting &)&)
是JAVA虚拟机版本问题,解决办法:
&cp netca netca.bak
找到unset JAVA_HOME,前面加上#
找到JRE=...
改为JRE=$JAVA_HOME/bin/java(前面netmgr也是如此)
再运行一次 OK。
配置oracle net manager,sqlplus 试一下工作正常。
配置RM文件:
TUXEDO/D:tuxd_switch:-lrms -lfs
TUXEDO/SQL:tuxsql_switch:-lsql -lusort -lrms -lfs
NONE:tmnull_switch:
TUXEDO/QM:tuxq_switch:-lqm -ltmib
# BEA makes no attempt to keep the information in the following samples
# up to date.&&To make sure you have correct and complete information for
# your platform and RM version, please consult your RM vendor.
# ORACLE 10g
#Oracle_XA:xaosw:-L${ORACLE_HOME}/lib ${ORACLE_HOME}/precomp/lib/cobsqlintf.o -lclntsh
Oracle_XA:xaosw:-L${ORACLE_HOME}/lib ${ORACLE_HOME}/precomp/lib/cobsqlintf.o -lclntsh
TimesTen:tt_xa_switch:-L/home/oracle/TimesTen/tt60/lib -ltten
重新编译生成TMS_ORA ,哈,启动正常
Booting admin processes ...
exec BBL -A :
& && &&&process id=15357 ... Started.
Booting server processes ...
exec TMS_ORA -A :
& && &&&process id=15360 ... Started.
exec TMS_ORA -A :
& && &&&process id=15361 ... Started.
exec simpserv -A :
& && &&&process id=15362 ... Started.
exec testbcsrv -A :
& && &&&CMDTUX_CAT:816: ERROR: Cannot exec, executable file not found
exec WSL -A -- -n //1Array2.168.1.6:7200 -m 5 -M 10 -x 10 :
& && &&&process id=15364 ... Started.
5 processes started.
下面就可以写应用来测试了。
说到这有些问题不明白,知道的朋友一定告诉我
用proc 预编译*.pc文件时怎么让它不要在c文件中生成extern &C&?有什么选项吗?要不用gcc编译不了。
用g++ 编译也会出现下面的错误
test.cpp:286: error: ISO C++ forbids declaration of ’TEST’ with no type
呵呵。。。狂汗中。。。
最后手工去掉extern &C&编译通过。
&proc code=c iname=test.pc include=$TUXDIR/include include=/usr/include/linux include=/usr/lib/gcc/i486-linux-gnu/4.1.2/include
&buildserver -bnoquiet -v -o testbcsrv -f test.c -r Oracle_XA -s TEST
& & & & & & & &
& & & & & & & &
& & & & & & & &
& & & & & & & &
& & & & & & & &
& & & & & & & &
& & & & & & & &
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/25Array52/showart_372851.html
以上内容由
搜集整理,如转载请注明原文出处,并保留这一部分内容。
  “华夏名网”
是成都飞数科技有限公司的网络服务品牌,专业经营虚拟主机,域名注册,VPS,服务器租用业务。公司创建于2002年,经过6年的高速发展,“华夏名网”已经成为我国一家知名的互联网服务提供商,被国外权威机构评价为十大IDC服务商之一。
华夏名网网址导航:
上一篇:下一篇:
(4915次点击) (2768次点击) (4158次点击) (2793次点击) (2369次点击) (3727次点击) (3568次点击) (2358次点击) (2528次点击) (2438次点击)
(3415次点击) (3233次点击) (3244次点击) (3989次点击) (2408次点击) (2320次点击) (3211次点击) (3619次点击) (2352次点击) (2334次点击)
&2002- 飞数科技 版权所有
电话总机:028-91 94
公司地址:四川省成都市青龙街51号倍特康派大厦10楼5号相关文章推荐:
java 监控 tuxedo
从03年开始接触TUXEDO到现在已经有些年头,从开始的一知半解、略懂皮毛到现在的稍有小成,也算积累了一些知识和经验。之前一直想将一些知识和经验总结一下,但总是有想法没有动手,年底趁着有点空闲整理了几年来的知识,希望能跟大家一起探讨一下。
由于我们的客户主要是电信,系统是7*24运行,不能间断,系统运行压力比较大,而且系统和很多外围系统存在着大量的接口,因此当客户端比较多或者是外围系统出现问题时,TUXEDO系统经常也会出现不稳定,例如客户端并发使用量比较大而导致系统性能下降时,会出现消息队列出现堵塞,客户端...
回复 (10) 浏览 (2870)
其他文章推荐
ITPUB官方微博:
上图是执行计划对这个TB_B_FT_PRD_INST_CDMA_201209进行扫描的时候我监控的v$session_wait发现最开始是dbfilescatteredread读最后又是dbfilesequentialread一次16个block这个表非常大,这样顺序读取非常的慢,一次一个block请问为什么会调整读取数据块的方式...
回复 (5) 浏览 (143)
mysql的监控,大家用什么。用过公司定制的,也有许多问题用zabbix,用着也还是不尽人意。还有一个问题,一个新环境,公司很大,外人表面看上去很多Nb。其实里面一团糟,有前途吗?我技术储备不够,而且又没有人带。只是自学。感觉没有前途,我都是在吃第一家公司的老本, ......
回复 (3) 浏览 (131)
导读:服务器性能监控工具通过简单的界面让管理员了解整个环境,确保每个真实或虚拟工作负载保持在合适水平,简化服务器管理任务。本文总结了选择监控工具最常见的一些问题。关键词:服务器性能监控工具【TechTarget中国原创】服务器性能监控工具可以通过简单的界面让管 ......
回复 (6) 浏览 (153)
目前我行数据中心没有统一的应用监控系统,不同的系统在开发时有功能不一的独立的应用监控,有些是自己开发了一些简单的程序,有没有用得比较好的方案,能把不同服务器(AS/400、RS/6000AIX、PCserverWindowsLinux)和存储设备的硬件、OS、中间件、DB的状态和故障与应用 ......
回复 (5) 浏览 (237)
公司用的是SAP软件,所以自己也想学学这方面的知识,刚刚安装IDES4.71,但不知道从何学起,求前辈指引...
回复 (14) 浏览 (306)
系统性能是一个综合性结果的体现。对最终用户而言,使用系统的体验感可能就是系统是不是跑得快、在规定时间内完成作业、业务高峰期能否快速打开页面。但是,对系统设计、开发和运维人员来讲,系统性能是一个综合性的指标,涉及系统各个组成部分的软硬件配置和运行状态。 ......
回复 (3) 浏览 (149)
利用js来动态创建表格有两种格式,appendChild()和insertRow、insertCell()。两种方式其实差不多,但第一种有可能在IE上有问题,所以推荐大家使用第二种了,直接说吧。1、inserRow()和insertCell()函数insertRow()函数可以带参数,形式如下:insertRow(index):index从0 ......
回复 (3) 浏览 (109)
&&&&&&&获取执行计划和执行成本,写出最优的sql语句,是每个Oracle开发人员和dba必须具备的能力之一。Oracle11g以后已经默认为dbarole自动打开autotrace?配置autotrace:进入到$ORACLE_HOME/rdbms/admin下面进入到sql ......
回复 (3) 浏览 (551)
在数据库的日常维护中,经常出现以下两种情况,需要DBA手工干预KILLSESSION:1.应用hang住了,在数据库里查询得知session被其它sessionblock,要把其它sessionkill掉。2.应用跑到中途,突然决定不跑了,需要DBA把他们的sessionkill掉。DBA采用的killsession的方法:1.在数 ......
回复 (5) 浏览 (44)
日期:&&来源:随着前端开发的密集度越来越高,Ajax和JSON的使用越来越频繁,大家肯定免不了在前台开发中大量的使用标签,常见到的例子如下:你的到了一个JSON对象,如下:vardata={&email:'terry.,&gender: ......
回复 (3) 浏览 (8)
文章推荐:
盛拓传媒:
友情链接:
特别鸣谢:
北京皓辰网域网络信息技术有限公司. 版权所有
北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证:编号(京)字第1149号
ITPUB推荐文章解答你所有技术难题AIX 上运行tuxedo的buildclient错误?_百度知道
AIX 上运行tuxedo的buildclient错误?
ERROR,include -o _server这是错误信息,我已经安装过GCC了, not found, cc,512, Cannot execute C compiler cc -I$TUXDIR&#47,sh, CMDTUX_CAT,
home&#47, Cannot execute C compiler cc
-I$TUXDIR&#47,o,include -o _server
-qstaticinline
-qrtti=all
-L${TUXDIR}&#47,o &#47,home&#47,o
-lwsc -lbuft -lwsc
-lfml -lfml32 -lengine
-lpthread &#47,lib
-q64 -D_LARGE_FILES -D__XCOFF32__ -D__XCOFF64__ server_ta,threadpool,c
-brtl $TUXDIR&#47,lib&#47,
not found,tuxedo&#47,apps&#47,wstpinit,apps&#47,tuxedoconfig,CMDTUX_CAT, cc, ERROR,tuxedo&#47,sh,512,
提问者采纳
vac&#47,vac&#47,bin 加到PATH中就可以了,cc 如果出来帮助就是这个路径了。,梢韵戎葱幸幌# &#47,usr&#47,bin&#47,usr&#47,cc 的程序不在PATH环境变量中。你把&#47,
/home/tuxedo]&/usr/vac/bin/cc ksh: /usr/vac/bin/cc:
not found.没有这个路径呀。高手帮帮忙吧。
提问者评价
谢谢了,仍未解决!
其他类似问题
tuxedo的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁保持登录。
单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.
在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。
所有提交的信息确保安全。
当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。
单击提交则表示您同意developerWorks
的条款和条件。 .
所有提交的信息确保安全。
developerWorks 社区:
我的概要信息
选择语言:
MQ_Tuxedo 是一套基于消息中间件 IBM WebSphere MQ 来整合 Tuxedo 应用的适配器。MQ_Tuxedo 可以支持用户在 Java 环境下使用同步请求/回复,异步请求/回复,会话等方式来调用基于 Tuxedo 的应用所提供的服务。其中,对会话方式的支持是 MQ_Tuxedo 独特于其他 Tuxedo 适配器(比如 XMLink,BEA Jolt 等)地方,也是 MQ_Tuxedo 的创新点。本文通过示例介绍了此解决方案。
, 解决方案专家
曹世锋是 Lab Based Services 团队的一名成员,在过去的几年里,一直专著于基于 IBM 产品的 EAI/SOA 项目实施,是一名资深的
Solution Expert。您可以通过和他联系。
, 解决方案专家
张羽是 Lab Based Services 团队的一名成员,在过去的几年里,一直专著于基于 IBM 产品的 EAI/SOA 项目实施,是一名资深的 Solution Expert。您可以通过和他联系。
, 解决方案专家
兰建忠在过去的一段时间里一直专注于基于 WebSphere 产品的适配器开发,是一名 Solution Expert 。您可以通过和他联系。
, 解决方案专家
拱旭升在过去的一段时间里一直专注于基于 WebSphere 产品的适配器开发,是一名 Solution Expert 。您可以通过和他联系。
一 项目背景1 企业应用系统整合过程中的问题随着企业IT信息化的进一步发展,越来越多的企业在关注如何解决企业多个应用系统之间的全方位整合,使企业的应用、数据、流程能够得到进一步改善,提高企业的运营效率。IBM在帮助企业进行应用整合的时候,面临的一个问题是:在目前国内的很多银行、电信、移动等企业,核心系统都是基于交易中间件Tuxedo开发的,如何来整合基于交易中间件Tuxedo开发的企业应用?Tuxedo应用是基于标准C开发,并且通过BEA Tuxedo产品包装成service,而IBM的WebSphere应用解决方案是基于开放框架J2EE设计的,因此如何使用适当的适配器产品整合WebSphere和Tuxedo相关应用是急需解决的一个问题。2 已有解决方案
Prolifics公司开发的XMLink是一种专门用于对基于BEA Tuxedo交易中间件技术开发的应用系统的数据、业务整合的适配器产品。该适配器全称为XMLink Tuxedo Adapter。它可以将J2EE应用程序连接到基于BEA Tuxedo开发的服务上,特别适用于基于IBM WebSphere Application Server开发的EJB, Servlet 和 JSP,以及基于WebSphere Business Integration Family开发的相应流程、服务等。如下图所示,XMLink的架构是完全符合J2C/J2EE架构规范的,它就是针对Tuxedo专门实现的J2C连接器。因此可以方便的跟其它Java应用进行互联互通。图1 XMLink体系结构示意图XMLink提供了一个资源适配器并且支持两种情形的部署场景。J2EE资源适配器不但能够在有应用服务器(比如IBM WebSphere Application Server)的环境中运行,而且能够在独立的Java应用程序中被调用执行。就像J2C架构一样,XMLink架构也同样提供了相应的访问方式:JavaBeans、Servlet、JSP和EJB。XMLink Tuxedo Adapter允许用户将任何已有的BEA Tuxedo应用无缝地集成到一个Java应用中,无论该应用是否部署在应用服务器上。XMLink只需要标准的Tuxedo配置就能完成相关功能。这使得用户可以方便快捷地访问Tuxedo标准层中的相关服务。在Tuxedo中,使用IPC(Inter-Process Communication)消息队列等方式实现了在客户端和服务器端之间服务请求的传递。这些消息被封装在相应的缓冲区中。XMLink使用已有的IPC等配置方式,来跟相应的数据缓冲区交互数据,从而连接到Tuxedo的指定服务。在这个过程中,XMLink就像其它Tuxedo客户端一样,使用ATMI (Application to Transaction Monitor Interface) 层来连接到Tuxedo。相应的,ATMI接口来控制信息交互、事务处理、数据缓冲区管理等功能。根据XMLink在前图的J2C连接器架构中所处的位置,我们把它进一步细化,如下图所示:图2 XMLink体系结构示意图如上图所示,XMLink可以实现以下操作:1. XMLink是一个J2EE/JCX实现。通过它的Tuxedo适配器,将J2EE调用行为转换成为Tuxedo API调用行为。2. XMLink的适配器层处于J2EE/JCX和Tuxedo之间。该适配器层的职责是将Java输入流转换成Tuxedo本地缓冲区的流(反之亦然),并且通过Tuxedo的链接池进行相应调用。3. XML parser验证从客户端提交的Java流并转换成为XML流,同时也验证反向的XML流并转换成为Java流。XMLink提供了一个无状态会话Bean的组件,它可以读取外部的XML格式的配置文件,从而实现指定的用户业务服务调用。3 新的解决方案:MQ_TuxedoMQ_Tuxedo是我们开发的一套基于消息中间件IBM WebSphere MQ来整合Tuxedo应用的适配器。MQ_Tuxedo可以支持用户在Java环境下使用同步请求/回复,异步请求/回复,会话等方式来调用基于Tuxedo的应用所提供的服务。其中,对会话方式的支持是MQ_Tuxedo独特与其他Tuxedo适配器(比如XMLink,BEA Jolt等)地方,也是MQ_Tuxedo的创新点。二 IBM WebSphere MQ安装和配置本节介绍IBM WebSphere MQ的安装和配置。WebSphere MQ包括服务端和客户端,下面分别予以介绍。1 WebSphere MQ服务端的安装和配置本节以WebSphere MQ Windows V5.3版为例来介绍WebSphere MQ服务端在Windows XP(sp2) 下的安装和配置。Windows下WebSphere MQ 服务端的安装:(1)把WebSphere MQ Windows版服务器CD-ROM插入CD-ROM驱动器。(2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。(3)请等待,直到出现"WebSphere MQ 安装启动板"窗口为止。(4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。(5)选择必备软件选项。选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装MQ,则必须先把这些软件装好)。如果出现了叉号:1)单击项目左边的"+"号以显示安装连接;2)选择要使用的安装源的选项,从以下各项选择:WebSphere MQ CD因特网网络(6)安装完成时,单击项目左边的"-"符号。
注意:对于定制安装,可能不需要所有的必备软件。(7)安装完所有的必备软件,然后选择"网络先决条件"选项。(8)选择"WebSphere MQ"安装选项。(9)选择启动WebSphere MQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。(10)单击"下一步"按钮继续。(11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。(12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。
选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。(13)"WebSphere MQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。(14)成功安装WebSphere MQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。(15)单击"完成"按钮启动"准备WebSphere MQ"向导。验证安装:(1)创建名为venus.queue.manager的默认队列管理器。在DOS窗口命令提示符下,输入以下命令:crtmqm -q venus.queue.manager(2)启动刚才创建的队列管理器。在DOS窗口命令提示符下,输入以下命令:strmqm venus.queue.manager(3)启动MQSC命令。在DOS窗口命令提示符下,输入以下命令:runmqsc venus.queue.manager(4)新建名为orange.queue的本地队列。输入以下命令:define qlocal (orange.queue)注意:MQSC中任何小写字母将自动转换成大写,除非用单引号将它们括起来。这意味着如果使用名称Orange.Queue创建了队列,则记住在MQSC以外其他命令中都必须使用Orange.Queue。(5)停止MQSC。输入以下命令:end现在,我们已经定义了以下对象:(1)名为venus.queue.manager的默认队列管理器。(2)名为ORANGE.QUEUE的队列。测试对象:要测试队列管理器和队列,请使用样本程序amqsput(将消息放入队列)和amqsget(从队列获取消息),步骤如下:(1)启动DOS窗口,进入到C:\Program Files\IBM\WebSphere MQ\bin目录下。(2)将消息放入队列。输入以下命令: amqsput ORANGE.QUEUE显示以下消息: Sample amqsput0 start
Target queue is ORANGE.QUEUE (3)输入一些字符数据,然后双击"Enter"键,则显示以下消息:
Sample amqsput0 end 现在消息已经被放在队列中了。 (4)要从队列中获取消息,输入以下命令:
amqsget ORANGE.QUEUE在屏幕上将显示您刚才输入的字符数据消息。暂停后,例子程序结束。如果以上步骤都能完成,则完成了本地安装的验证。
注意:如果在任何阶段中断整个安装过程,则应该从头开始重新运行安装。
2 WebSphere MQ客户端的安装和配置如果我们开发的基于MQ的应用与MQ服务器不在同一台机器上,那么就必须在MQ应用端安装MQ客户端。下面我们以在Suse Linux 10下安装WebSphere MQ v6.0 Client为例介绍MQ客户端在Linux下的安装和配置步骤。(1)解压缩MQ客户端安装包:C84CJML.WebSphere MQ V6.0 Linux x86 Client.tar.gz,命令如下:tar -xvfz C84CJML.WebSphere MQ V6.0 Linux x86 Client.tar.gz(2)创建WebSphere MQ 必需的文件系统,命令如下:mkdir /opt/mqm
# for product code
mkdir /var/mqm
# for working data创建完后效果如下:图3 创建WebSphere MQ 必需的文件系统(3)创造MQ用户和用户组,命令如下:groupadd mqm
useradd -d /var/mqm -g mqm -G mqm mqm
passwd mqm
# change password to "password"如下图:图4 创造MQ用户和用户组(4)为mqm用户组添加root组cd /etc
vi group修改 mqm:!:1000:mqm ? mqm:!:1000:mqm,root如下图:图5 为mqm用户组添加root组(5)调整系统参数(视需要而定)修改最大共享内存,命令如下:cat /proc/sys/kernel/shmmax
& /proc/sys/kernel/shmmax修改最大文件句柄,命令如下:cat /proc/sys/fs/file-max
echo 32768 & /proc/sys/fs/file-max如下图所示:图6 调整系统参数(6)转到WebSphere MQ解压后的目录中,获得WebSphere MQ授权,命令如下:./mqlicense.sh -text_only阅读全文后,选择1接受授权。如图所示:图7 获得WebSphere MQ授权图8 获得WebSphere MQ授权(7)安装WebSphere MQ客户端,命令如下:rpm -ivh MQSeriesRuntime-6.0.0-0.i386.rpm
rpm -ivh MQSeriesSDK-6.0.0-0.i386.rpm
rpm -ivh MQSeriesJava-6.0.0-0.i386.rpm
rpm -ivh MQSeriesClient-6.0.0-0.i386.rpm
rpm -ivh MQSeriesSamples-6.0.0-0.i386.rpm(8)安装校验rpm -qa | grep MQSeries结果如下则表明MQ 客户端的安装已成功。MQSeriesRuntime-6.0.0-0
MQSeriesSDK-6.0.0-0
MQSeriesJava-6.0.0-0
MQSeriesClient-6.0.0-0
MQSeriesSamples-6.0.0-03 WebSphere MQ的服务端和客户端的互联本节的WebSphere MQ的服务端和客户端不在同一台机器上。本节以上述1,2两个步骤安装好的MQ服务端和MQ客户端为例,介绍如何配置MQ的服务端和客户端使两者能够互联。(1)服务端配置1)点"开始"-&"所有程序"-&"IBM WebSphere MQ"-&"WebSphere MQ 资源管理器",进入WebSphere MQ 资源管理器界面。如下图所示:图9 服务端配置2)创建名为"QM_JACK"的队列管理器&1&选中"队列管理器"-&"新建"-&"队列管理器",如下图所示:图10 创建名为"QM_JACK"的队列管理器&2&在队列管理中输入"QM_JACK",其他选项默认不变,点"下一步":图11 在队列管理中输入"QM_JACK"&3&设置队列日志(本步骤采用系统默认设置),点"下一步":图12 设置队列日志&4&启动队列管理器,创建服务器连接通道,允许在TCP/IP上进行队列管理器的远程管理,点击"下一步":图13 创建服务器连接通道&5&设置队列管理器QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。图14 设置队列管理器QM_JACK的侦听端口&6&系统进入等待界面:图15 系统等待界面&7&队列管理器QM_JACK创建成功图16 系统队列管理器QM_JACK创建成功3)在QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备):图17 定义本地队列 图18 定义本地队列设置队列名后其他属性全为系统默认值,点击"确定"。4)在QM_JACK下创建名为"CNN_JACK"的服务器通道。图19 创建服务器连接通道图20 创建服务器连接通道通道名称设为CNN_JACK,其他选项保留为系统默认设置,点击"确定"。5)在MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse Linux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows xp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下:&1&点击"开始"-&"控制面板"-&"计算机管理"-&"系统工具"-&"本地用户和组"-&"用户",点右键,选"新用户",如下图所示:图21 创建系统用户&2&创建新用户:root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改)图22 创建系统用户随意设置一个有效密码,选中密码永不过期,点击"创建"。&3&将新用户加入mqm组(注意:这里的mqm组是我们安装完MQ Server后系统自动创建的)。具体操作如下:图23 设置系统用户所在组点击"属性":图24 设置系统用户所在组点击"添加":图25 设置系统用户所在组输入对象名称:mqm,点击"确定":图26 设置系统用户所在组root用户被添入mqm组中:图27 设置系统用户所在组点击"应用",点击"确定"。重启机器。至此,MQ服务端的配置完成。(2)客户端配置按照我们前面的步骤,MQ客户端是安装在Suse Linux 10 上,所以本节以Suse Linux 10下的MQ Client v6为例说明如何配置MQ客户端才能连上MQ服务器。1)设置MQSERVER环境变量,命令如下:export MQSERVER='CNN_JACK/tcp/9.186.110.133(8927)'参数说明:服务器连接通道名称:CNN_JACK
服务器连接通道协议类型:tcp
服务器IP地址:9.186.110.133
服务器连接通道所在的队列管理器QM_JACK的侦听端口:89272)测试客户端与服务端的网络连接在客户端使用ping命令检查客户端是否能连上服务端机器。
同样,在服务端使用ping命令检查服务端是否能连上客户端机器。
测试完成后,进入下一步。3)进入/opt/mqm/samp/bin,使用样本程序amqsputc(用来将消息发送到服务端队列)和amqsgetc(用来从服务端队列中读取消息)来测试客户端与服务端的MQ连接是否畅通,具体步骤如下:&1&输入命令:
./amqsputc QUEUE_RECV QM_JACK 则会显示以下消息: Sample AMQSPUT0 start
target queue is QUEUE_RECV&2&输入一些字符,然后双击"Enter"键,则显示如下信息:
Sample AMQSPUT0 end &3&要从队列获取消息,则输入如下命令:
./amqsgetc QUEUE_RECV QM_JACK 则会在屏幕上打印出刚才输入的字符数据消息。暂停后,;例子程序结束。 如果以上步骤都能够完成,则完成了MQ服务端和客户端的互联配置。注意:有时候,MQ客户端联服务端时会因为两端字符集编码CCSID不一样造成连接的失败,典型错误是:MQCONN ended with reason code 2059。在队列管理器的错误日志(位于/var/mqm/errors/AMQERROR**.log)中有如下信息:-------------------------------------------------------------------------------
AMQ9541: CCSID supplied for data conversion not supported.
EXPLANATION:
The program ended because,
either the source CCSID '437' or the target CCSID '1381' is not valid,
or is not currently supported.
Correct the CCSID that is not valid, or ensure that the requested CCSID can be supported.解决方法如下:在服务端用runmqsc qmname命令,输入dis qmgr查看CCSID属性值nnnn,在客户端上配置环境变量:
Windows 下:set MQCCSID=nnnn(在服务端看到的CCSID),
Linux下:export MQCCSID=nnnn(在服务端看到的CCSID),
重新启动MQ 客户端机器即可。三BEA Tuxedo 在Window2000/XP上的安装本文以BEA Tuxedo 8.1在Window XP上的安装为例,介绍Tuxedo 在Window2000/XP上的安装。1. 安装前的准备1.1 硬件要求安装前,首先要检查机器的硬件是否满足安装Tuxedo的最小要求,一般来说,至少需要128MB的内存,120MB硬盘空间。1.2 软件要求为了能使Tuxedo正常运行,需要安装的软件有:软件说明C/C++编译器最好能完全安装Visual C/C++6.0 SP4或兼容版本。如果没有VC6,可以使用Microsoft Visual C++ Toolkit 2003和VC6_SP6两个免费工具结合,编译C代码,安装的方法见疑难解答。COBOL编译器如果需要COBOL编程,需要安装Net Express 3.1 (COBOL)或其他的兼容COBOL编译器。Internet浏览器如果要查看联机帮助或运行Tuxedo管理控制台,使用Windows自带的IE6.0即可,或使用Netscape7.0 以上JAVA环境如果要运行Tuxedo管理控制台,则安装J2SDK1.3.1以上版本
LDAP目录服务器 如果需要LDAP功能,需要安装Netscape Enterprise Server在上述软件中,如果只做ATMI编程,则只需安装C/C++编译器即可。1.3 Tuxedo安装文件Tuxedo的安装文件可以从BEA官方网站上下载,同时可以获得一个30天的试用序列号。下载的网址是,其Window XP平台的安装文件为tuxedo81_win.exe,序列号文件为lic.txt。2. 安装BEA Tuxedo 8.1在做好准备工作后,就可以运行tuxedo81_win.exe安装Tuxedo了。按照程序中的提示安装,需要注意以下几步:1.在安装方式选择中,选择Full Install (完全安装)。图28 选择安装方式2.选择BEA Home目录。BEA Home目录是所有BEA产品的安装目录,如果已经有了BEA Home,选择即可,如果还没有,则可以创建一个。图29 选择BEA Home目录3.设置tlisten密码。运行于同一域 (domain) 的所有机器都必须有相同的tlisten密码,在一台机器上可以设置多个tlisten密码,方法在后文疑难解答中介绍。图30 设置tlisten密码4.LDAP for SSL设置。在本例中选择了不支持。图31 LDAP for SSL Support5.安装序列号。在向导提示 "Would you like to install your license now?"时,选择yes则开始安装序列号,找到lic.txt文件所在的文件夹,点Next。你也可以在提示的时候选择no,稍后再安装序列号,安装的方法在后文疑难解答中介绍。图32 安装序列号现在BEA Tuxedo8.1已经安装好了。3. 安装后验证安装后,可以运行Tuxedo附带的例程simpapp检验安装是否成功。3.1 打开命令行工具如果使用的Visual C++ 6.0,直接打开"命令提示符"程序即可。如果使用的是Microsoft Visual C++ Toolkit 2003,则打开 开始'所有程序' Microsoft Visual C++ Toolkit 2003' Visual C++ Toolkit 2003 Command Prompt。3.2 准备程序文件从%tuxdir%\samples\atmi(%tuxdir%是Tuxedo的安装目录)中复制simpapp文件夹到新建目录C:\home\me下,将simpapp文件夹重命名为amti。3.3 修改UBBCONFIG文件该例程的UBBCONFIG文件是ubbsimple,用文本编辑器打开这个文件,修改以下行:原文修改后IPCKEY
&Replace with a valid IPC Key&IPCKEY
123456APPDIR="&Replace with the current directory pathname&"APPDIR="C:\home\me\atmi"TUXCONFIG="&Replace with your TUXCONFIG Pathname&"TUXCONFIG="C:\home\me\atmi\tuxconfig"TUXDIR="&Directory where TUXEDO is installed&"TUXDIR="%tuxdir%"&Machine-name& LMID=simpleLMID=simple注意:%tuxdir%是Tuxedo的安装目录,如C:\bea\tuxedo8.1。***处使用安装Tuxedo的计算机名代替,此计算机名中间不能带"-",如果原来的计算机名带"-",则先修改计算机名,然后重启计算机后再继续配置。3.4 运行例程如果完成了以上的步骤,则在打开的命令行工具中依次输入如下命令:cd C:\home\me\atmi
set APPDIR=C:\home\me\atmi
set TUXCONFIG=%APPDIR%\tuxconfig
buildclient -o simpcl -f simpcl.c
buildserver -o simpserv -f simpserv.c -s TOUPPER
tmloadcf -y ubbsimple
simpcl "hello world" 如果返回:Returned string is: HELLO WORLD 则证明Tuxedo安装成功了,用下面命令关闭Tuxedo服务:tmshutdown -y4.疑难解答<h3 id="N1如何使用微软工具包安装C++编译器Microsoft Visual C++ Toolkit 2003是微软的免费VC++工具包,用这个工具包可以在命令行下编译C\C++源代码。如果仅安装VCToolkit后运行Tuxedo buildclient或buildserver时会提示缺少lib文件,所以需要结合VC6_SP6使用,步骤如下: 1.装VCToolkitSetup.exe,安装目录:D:\Program Files\Microsoft Visual C++ Toolkit 2003。2.装VC6_SP6.exe,安装目录:D:\Program Files\vc6。3.将D:\Program Files\vc6\VC98\Lib下的lib文件拷贝到D:\Program Files\Microsoft Visual C++ Toolkit 2003\lib下,将D:\Program Files\Microsoft Visual Studio\VC98\Include下文件拷贝到D:\Program Files\Microsoft Visual C++ Toolkit 2003\include下(注意,复制时不要覆盖原有文件)。4.2如何在一台机器上可以设置多个tlisten密码用文本编辑器打开%tuxdir%\udataobj下的tlisten.pw文件,可以看到安装时设置的密码。在密码后的新行中输入新密码,然后保存。4.3如何在Tuxedo安装好后安装/升级序列号如果在Tuxedo安装时没有安装序列号,或者序列号过期,可以使用工具bealic安装/省级序列号。选择开始-&所有程序-&BEA WebLogic E-Business Platform-&Tuxedo 8.1-&bealic,运行bealic程序,如下图,在Source中选择lic.txt文件,点ok即可。图33 运行bealic更新序列号也可以用新的lic.txt文件覆盖%tuxdir%\udataobj下的lic.txt文件来更新序列号。四BEA Tuxedo 在RedHat Linux 9.0上的安装本文以BEA Tuxedo 8.1在RedHat Linux 9.0上的安装为例,介绍Tuxedo 在Linux系统上的安装。1.安装前的准备1.1 硬件要求安装前,首先要检查机器的硬件是否满足安装Tuxedo的最小要求,一般来说,至少需要256MB的内存,250MB硬盘空间。1.2 软件要求为了能使Tuxedo正常运行,需要安装的软件有:软件说明C/C++编译器gcc egcs-2.96或兼容版本。COBOL编译器如果需要COBOL编程,需要安装Net Express 3.1 (COBOL)或其他的兼容COBOL编译器。Internet浏览器如果要查看联机帮助或运行Tuxedo管理控制台,需要使用Netscape7.0 以上JAVA环境如果要运行Tuxedo管理控制台,则安装J2SDK1.3.1以上版本LDAP目录服务器如果需要LDAP功能,需要安装Netscape Enterprise Server在上述软件中,如果只做ATMI编程,则只需安装C/C++编译器即可。1.3 Tuxedo安装文件Tuxedo的安装文件可以从BEA官方网站上下载,同时可以获得一个30天的试用序列号。下载的网址是。注意,在RedHat Linux 9.0上安装时,要选择下载Tuxedo 8.1 (Includes Jolt and SNMP Agent) for Novell SuSE Pentium (9, Red Hat 4.0, Turbo Linux V10) 32-bit,其安装文件为tuxedo81_inlnxsles9_x86_32.bin,序列号文件为lic.txt。2.在图形界面下安装BEA Tuxedo 8.1在下载了BEA Tuxedo安装文件和序列号后,就可以运行程序安装Tuxedo了。在控制台模式下,切换为root用户,然后切换到存放tuxedo81_inlnxsles9_x86_32.bin文件的目录下,输入如下命令,开启GUI安装界面:sh tuxedo81_inlnxsles9_x86_32.bin图34 Tuxedo8.1 Linux下安装界面接下来,按照安装向导的提示开始安装,需要注意以下步骤。 1.在安装方式选择中,选择Full Install (完全安装)。图35 选择安装方式2.选择BEA Home目录。BEA Home目录是所有BEA产品的安装目录,如果已经有了BEA Home,选择即可,如果还没有,则可以创建一个。本例创建在/root/bea。图36选择BEA Home目录3.设置tlisten密码。运行于同一域 (domain) 的所有机器都必须有相同的tlisten密码,在一台机器上可以设置多个tlisten密码,方法在后文疑难解答中介绍。图37 设置tlisten密码4.LDAP for SSL设置。在本例中选择了不支持。图38 LDAP for SSL Support5.安装序列号。在向导提示 "Would you like to install your license now?"时,选择yes图39 安装序列号则开始安装序列号,找到lic.txt文件所在的文件夹,点Next。你也可以在提示的时候选择no,稍后再安装序列号,安装的方法在后文疑难解答中介绍。现在BEA Tuxedo8.1已经安装好了。3.在控制台下模式下安装BEA Tuxedo 8.1如果希望在控制台下安装Tuxedo,在控制台模式下,切换为root用户,然后切换到存放tuxedo81_inlnxsles9_x86_32.bin文件的目录下,输入如下命令,开始Tuxedo安装sh tuxedo81_inlnxsles9_x86_32.bin -i console然后按照程序的提示安装。4.安装后验证安装后,可以运行Tuxedo附带的例程simpapp检验安装是否成功。4.1 设置环境变量编辑/etc/profile,设置Tuxedo运行需要的环境变量。如果Tuxedo实际安装的目录是/root/bea/tuxedo8.1,则添加如下行:TUXDIR="/root/bea/tuxedo8.1"
PATH="$PATH:/root/bea/tuxedo8.1/bin"
LD_LIBRARY_PATH="$TUXDIR/lib:/lib:/usr/lib"在export PATH … 行尾添加TUXDIR LD_LIBRARY_PATH。重启机器,使设置的环境变量生效。4.2 准备程序文件从$tuxdir/samples/atmi ($tuxdi是Tuxedo的安装目录)中复制simpapp到新建目录/home/me下,将simpapp重命名为amti。4.3 修改UBBCONFIG文件该例程的UBBCONFIG文件是ubbsimple,用文本编辑器打开这个文件,修改以下行:原文修改后IPCKEY
&Replace with a valid IPC Key&IPCKEY
123456APPDIR="&Replace with the current directory pathname&"APPDIR="/home/me/atmi"TUXCONFIG="&Replace with your TUXCONFIG Pathname&"TUXCONFIG="/home/me/atmi/tuxconfig"TUXDIR="&Directory where TUXEDO is installed&"TUXDIR="/root/bea/tuxedo8.1"&Machine-name& LMID=simpleLMID=simple注意:TUXDIR中应填写Tuxedo的实际安装目录。***处使用安装Tuxedo的计算机名代替,此计算机名中间不能带"-",如果原来的计算机名带"-",则先修改计算机名,然后重启计算机后再继续配置。4.4 运行例程如果完成了以上的步骤,则在打开的终端中依次输入如下命令:cd /home/me/atmi
APPDIR=/home/me/atmi
TUXCONFIG=$APPDIR/tuxconfig
export APPDIR TUXCONFIG
chmod 755 simpserv simpcl
chmod 644 ubbsimple
buildclient -o simpcl -f simpcl.c
buildserver -o simpserv -f simpserv.c -s TOUPPER
tmloadcf -y ubbsimple
./simpcl "hello world" 如果返回:Returned string is: HELLO WORLD则证明Tuxedo安装成功了,用下面命令关闭Tuxedo服务:tmshutdown -y5.疑难解答5.1如何在一台机器上可以设置多个tlisten密码用文本编辑器打开tux_prod_dir/udataobj下的tlisten.pw文件,可以看到安装时设置的密码。在密码后的新行中输入新密码,然后保存。tux_prod_dir代表Tuxedo的安装目录。5.2如何在Tuxedo安装好后安装/升级序列号如果在Tuxedo安装时没有安装序列号,或者序列号过期,可以将新的序列号文件lic.txt复制到tux_prod_dir/udataobj下,tux_prod_dir代表 Tuxedo的安装目录。五 MQ_Tuxedo服务端和客户端的安装、配置和使用在安装MQ_Tuxedo的服务端和客户端前,一定要先按上面的步骤安装并配置好WebSphere MQ和Tuxedo。1 MQ_Tuxedo服务端的安装和配置(1)MQ_Tuxedo服务端在Linux下的安装和配置1)解压MQ_Tuxedo_Linux_Edition.tar.gz到合适的目录,命令为:tar -xvzf MQ_Tuxedo_Linux_Edition.tar.gz yourpath解压后,包含6个文件,分别是:TuxedoMQServer:MQ_Tuxedo系统核心可执行文件。setenv.sh:用来设定MQ,Tuxedo等所需的环境变量managemt.sh:用来管理MQ_Tuxedo应用程序,比如启动,关闭,重新启动等。mqset.properties:设置MQ的各项参数。sessionapp.tar.gz: Tuxedo服务端示例程序,演示一个典型的会话通信过程。user.fld.h: 由Tuxedo服务端示例程序的FieldTable生成的h文件。2)安装Tuxedo服务端示例程序:sessionapp&1&解压sessionapp.tar.gz到合适目录;&2&修改其内部的setenv.sh和ubbsimple,使之符合系统当前状况。具体修改之处如下:以下是setenv.sh#!/bin/sh
#common for every project
export TUXDIR=/home/feiming/bea/tuxedo9.1(Tuxedo的安装目录)
export COBCPY=:$TUXDIR/cobinclude
export COBOPT="-C ANS85 -C ALIGN=8 -C NOIBMCOMP -C TRUNC=ANSI -C OSEXT=cbl"
export SHLIB_PATH=$TUXDIR/lib:$SHLIB_PATH
export LIBPATH=$TUXDIR/lib:$LIBPATH
export LD_LIBRARY_PATH=$TUXDIR/lib:$LD_LIBRARY_PATH
export WEBJAVADIR=$TUXDIR/udataobj/webgui/java
#just for this project
export APPDIR=/home/feiming/pro/sessionapp/simpapp(sessionapp的程序目录)
export TUXCONFIG=$APPDIR/tuxconfig
export PATH=$TUXDIR/bin:$APPDIR:$PATH
export WSNADDR=//192.168.102.128:7898
(WorkStation方式连接Tuxedo服务端时需要设置此项,
192.168.102.128为服务端IP,7898是服务端为sessionapp开放的端口号)
export FLDTBLDIR32=$APPDIR(用来定义FML字段的文件所在的目录)
export FIELDTBLS32=user.fld(用来定义FML字段的文件的文件名)以下是ubbsimple# (c) 2003 BEA Systems, Inc. All Rights Reserved.
#ident "@(#) samples/atmi/simpapp/ubbsimple $Revision: 1.5 $"
#Skeleton UBBCONFIG file for the TUXEDO Simple Application.
#Replace the &bracketed& items with the appropriate values.
*RESOURCES
DOMAINID simpapp
MAXACCESSERS 10
MAXSERVERS 30
MAXSERVICES 50
APPDIR="/home/feiming/pro/sessionapp/simpapp"
TUXCONFIG="/home/feiming/pro/sessionapp/simpapp/tuxconfig"
TUXDIR="/home/feiming/bea/tuxedo9.1"
APPDIR="/home/me/simpapp"
TUXCONFIG="/home/me/simpapp/tuxconfig"
TUXDIR="/usr/tuxedo"
JAZZON2 LMID=simple
(JAZZON2是服务端的机器名)
(WorkStation方式连接服务端时,服务端需要设置此项)
LMID=simple
LMID=simple GRPNO=1 OPENINFO=NONE
CLOPT="-A"
SRVGRP=GROUP1 SRVID=1 CONV=Y
(CONV=Y表明通信方式是会话方式)
serv2 SRVGRP=GROUP1 SRVID=2 CONV=Y
S_SERVICE&3&设置环境变量,命令为:source setenv.sh&4&重新生成tuxconfig,命令为:tmloadcf ubbsimple -y&5&启动sessionapp,命令为:tmboot -y,如果启动后显示如下,则表示Tuxedo服务端会话通信示例程序启动成功:&6&测试sessionapp示例程序:输入./cli,输出应该如下:示例程序3)修改setenv.sh(注意:这里的setenv.sh是MQ_Tuxedo应用的setenv.sh)#!/bin/sh
#Tuxedo_common for every project
export TUXDIR=/home/feiming/bea/tuxedo9.1
export COBCPY=:$TUXDIR/cobinclude
export COBOPT="-C ANS85 -C ALIGN=8 -C NOIBMCOMP -C TRUNC=ANSI -C OSEXT=cbl"
export SHLIB_PATH=$TUXDIR/lib:$SHLIB_PATH
export LIBPATH=$TUXDIR/lib:$LIBPATH
export LD_LIBRARY_PATH=$TUXDIR/lib:$LD_LIBRARY_PATH
export WEBJAVADIR=$TUXDIR/udataobj/webgui/java
#Tuxedo_Cli just for this project
export APPDIR=/home/feiming/pro/sessionapp/simpapp
export TUXCONFIG=$APPDIR/tuxconfig
export PATH=$TUXDIR/bin:$APPDIR:$PATH
export WSNADDR=//192.168.102.128:7898
export FLDTBLDIR32=$APPDIR
export FIELDTBLS32=user.fld
#MQ Cli Settings
export MQSERVER='S_jazzon/tcp/192.168.102.1(1414)'
(注意前后要加单引号,关于MQSERVER各个部分的具体含义可以参考前面对MQ的介绍)
#Lib Settings
export LD_LIBRARY_PATH=/opt/mqm/lib:/home/feiming/bea/tuxedo9.1/
lib:$LD_LIBRARY_PATH
export LIBPATH=/opt/mqm/lib:/home/feiming/bea/tuxedo9.1/lib:$LD_LIBRARY_PATH
export SHLIB_PATH=/opt/mqm/lib:/home/feiming/bea/tuxedo9.1/lib:$LD_LIBRARY_PATH4)修改mqset.properties文件名:mqset.properties#定义连入MQ服务端的方式:0(本机绑定),1(客户端连接)MQ_CONNTYPE=1
#定义MQ服务服务器连接通道MQ_SERVER=S_jazzon/tcp/192.168.102.1(1414) (注意,这里不要加上单引号)
#消息的消息管理器
(注意:MQ_Tuxedo系统使用统一的一个队列管理器)MQ_MGR=QM_jazzon
#接收消息的消息队列Q_RECV=test
#回复消息的消息队列Q_REPLY=default
5)启动管理脚本managemt.sh,命令为source managemt.sh,启动之后屏幕显示如下:按照提示进行操作,比如按1可以启动TuxedoMQServer。启动后屏幕显示如下:这表明TuxedoMQServer后台进程启动成功。至此,MQ_Tuxedo的服务端在Linux下安装和配置完成。(2)MQ_Tuxedo服务端在Windows下的安装和配置1)解压MQ_Tuxedo_Windows_Edition.zip到合适的目录解压后,包含5个文件,分别是:TuxedoMQServer:MQ_Tuxedo系统核心可执行文件。setenv.bat:用来设定MQ,Tuxedo等所需的环境变量mqset.properties:设置MQ的各项参数。sessionapp: Tuxedo服务端示例程序,演示一个典型的会话通信过程。user.fld.h: 由Tuxedo服务端示例程序的FieldTable生成的h文件。2)安装Tuxedo服务端示例程序:sessionapp(具体安装方法类似Linux下的安装,这里略去)。3)修改setenv.bat(注意:这里的setenv.bat是MQ_Tuxedo应用的setenv.bat,具体修改办法类似Linux下的修改方法,这里略去)。4)修改mqset.properties(具体修改办法类似Linux下的修改方法,这里略去)。5)启动MQ_Tuxedo服务端&1&新开MS-DOS窗口,进入MQ_Tuxedo_Windows_Edition.zip的解压目录。&2&在操作提示符下键入setenv.bat,这样就执行了环境变量设置操作。&3&在操作提示符下键入TuxedoMQServer.exe,这样就启动了MQ_Tuxedo服务端。启动后显示如下:====MQ_Tuxedo_integration project (session) start successful===
The MQ settings are as follows.
MQ_CONNTYPE:1
MQ_SERVER:S_jazzon/tcp/192.168.102.1(1414)
MQ_MGR:QM_jazzon
MY_Q_RECV:test
MY_Q_REPLY:default &4&如何察看以及停止TuxedoMQServer.exe这个进程?答:使用Windows自带的任务管理器,找到TuxedoMQServer.exe这个进程,然后可以对其进行察看或者结束进程操作。
2 MQ_Tuxedo客户端的安装和配置MQ_Tuxedo客户端就是一些Jar包,java程序以及资源文件,因此在Linux下和Windows下的配置都是类似的。下面Windows下的安装和配置为例:(1)Tuxedo_MQ的Java客户端需要使用的第三方Jar包列表如下:├─MQTuxedoClientNeedJars
├─otherlib(主要是处理XML的、J2EE的一些Jar包)
jsr173_1.0_api.jar
resolver.jar
xbean_xpath.jar
xerces.jar
xmlpublic.jar
├─SyncCallXMLBeans(同步请求/回复调用Tuxedo服务所需的输入输出XML文件对应的XMLBeans)
servicecall32.jar
servicecall32.xsd
serviceret32.jar
serviceret32.xsd
├─SyncCallUserDataBean(DataExchanger的用户定义的数据Bean)
myuser.jar
myuser.xsd
└─SessionXMLBeans(会话方式调用Tuxedo服务所需的输入输出XML文件对应的XMLBeans)
sconnres.jar
sconnres.xml
sconnres.xsd
sdisconn.jar
sdisconn.xml
sdisconn.xsd
sdisconnres.jar
sdisconnres.xml
sdisconnres.xsd
└─mqlib(WebSphere MQ的lib)
com.ibm.mq.jar
com.ibm.mqbind.jar
com.ibm.mqjms.jar
connector.jar
fscontext.jar
postcard.jar
providerutil.jar
└─DataExchangerNeedJars(DataExchanger所需的Jar包)
jsr173_1.0_api.jar
myuser.jar
resolver.jar
servicecall32.jar
serviceret32.jar
xbean_xpath.jar
xerces.jar
xmlpublic.jar(2)由Tuxedo_MQ客户端生成的Jar包如下: DataExchanger.jar
MQTuxedoClient.jar(3)Tuxedo_MQ的客户端测试程序为:MQTuxedoCliTest(Java项目),它需要配置的两个资源文件如下:mqset.properties(根据具体情况设置MQ的一些参数)。tux.properties(根据具体情况设置Tuxedo的一些参数)。MQTuxedoCliTest的ClassPath(即需要引用的Jar包)如下:&?xml version="1.0" encoding="UTF-8"?&
&classpath&
&classpathentry kind="src" path=""/&
&classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliJars/DataExchanger.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliJars/MQTuxedoClient.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/DataExchangerNeedJars/j2ee.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/DataExchangerNeedJars/
jsr173_1.0_api.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/DataExchangerNeedJars/myuser.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/DataExchangerNeedJars/resolver.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/DataExchangerNeedJars/
servicecall32.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/DataExchangerNeedJars/serviceret32.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/DataExchangerNeedJars/tconn.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/DataExchangerNeedJars/xalan.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/DataExchangerNeedJars/xbean.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/DataExchangerNeedJars/xbean_xpath.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/DataExchangerNeedJars/xerces.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/DataExchangerNeedJars/xmlpublic.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/mqlib/com.ibm.mq.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/mqlib/com.ibm.mqbind.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/mqlib/com.ibm.mqjms.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/mqlib/connector.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/mqlib/fscontext.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/mqlib/jms.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/mqlib/jndi.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/mqlib/jta.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/mqlib/ldap.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/mqlib/postcard.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/mqlib/providerutil.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/mqlib/rmm.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/otherlib/
xmlpublic.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/otherlib/j2ee.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/otherlib/
jsr173_1.0_api.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/otherlib/resolver.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/otherlib/xalan.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/otherlib/xbean.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/otherlib/xbean_xpath.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/otherlib/xerces.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/otherlib/
SessionXMLBeans/sconn.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/otherlib/
SessionXMLBeans/sconnres.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/otherlib/
SessionXMLBeans/sdisconn.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/otherlib/
SessionXMLBeans/sdisconnres.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/otherlib/
SessionXMLBeans/srecv.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/otherlib/
SessionXMLBeans/ssend.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/otherlib/
SyncCallUserDataBean/myuser.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/otherlib/
SyncCallXMLBeans/servicecall32.jar"/&
&classpathentry kind="lib"
path="D:/lanjz/MQTuxedoCliNeedJars/MQTuxedoClientNeedJars/otherlib/
SyncCallXMLBeans/serviceret32.jar"/&
&classpathentry kind="output" path=""/&
&/classpath&配置完两个资源文件以及Classpath后,就可以运行 MQTuxedoCliTest中的TpTestSession.java了。注意:TpTestSession.java需要运行在WebSphere v5.1 EE JRE 或者 WebSphere v5.1 JRE等JRE之上(因为XMLBeans需要运行在比较高版本的JRE上)。(4)Tuxedo_MQ的Java客户端的测试如果前面都配置成功的话,TpTestSession.java的运行结果应该如下:发送tpconnect消息:&sconn xmlns="http://xmlbeans.lan.org/sconn"&
&serviceName&S_SERVICE&/serviceName&
&/sconn&接收tpconnect回复消息:&sconnres xmlns="http://xmlbeans.lan.org/sconnres"&
&serviceName&S_SERVICE&/serviceName&
&sid&0&/sid&
&resFlag&CONNECT SUCCESS&/resFlag&
&gid&414df6a617a7a6f6ea&/gid&
&/sconnres&发送tpsend消息1:&ssend serviceName="S_SERVICE"
gid="414df6a617a7a6f6ea" flag=""
resFlag="" sid="0" xmlns="http://xmlbeans.lan.org/ssend"&
&FML32Record&
&field name="COUNT"&lanjz1&/field&
&/FML32Record&
&/ssend&接收tpsend回复消息1:&ssend flag="" resFlag="-" serviceName="S_SERVICE" sid="0"
gid="414df6a617a7a6f6ea"
xmlns="http://xmlbeans.lan.org/ssend"&
&FML32Record&
&field name="COUNT"&lanjz1&/field&
&/FML32Record&
&/ssend&发送tpsend消息2:&ssend serviceName="S_SERVICE"
gid="414df6a617a7a6f6ea" flag="TPRECVONLY"
resFlag="" sid="0" xmlns="http://xmlbeans.lan.org/ssend"&
&FML32Record&
&field name="COUNT"&lanjz4&/field&
&/FML32Record&
&/ssend&接收tpsend回复消息2:&ssend flag="TPRECVONLY" resFlag="-" serviceName="S_SERVICE"
sid="0" gid="414df6a617a7a6f6ea"
xmlns="http://xmlbeans.lan.org/ssend"&
&FML32Record&
&field name="COUNT"&lanjz4&/field&
&/FML32Record&
&/ssend&发送tpreceive消息:&srecv serviceName="S_SERVICE"
gid="414df6a617a7a6f6ea" flag="" resFlag=""
sid="0" xmlns="http://xmlbeans.lan.org/srecv"/&接收tpreceive回复消息:&srecv flag="" resFlag="" serviceName="S_SERVICE" sid="0"
gid="414df6a617a7a6f6ea"
xmlns="http://xmlbeans.lan.org/srecv"&
&FML32Record&
&field name="COUNT"&lanjz&/field&
&/FML32Record&
&/srecv&发送tpdisconnect消息:&sdisconn xmlns="http://xmlbeans.lan.org/sdisconn"&
&serviceName&S_SERVICE&/serviceName&
&sid&0&/sid&
&gid&414df6a617a7a6f6ea&/gid&
&/sdisconn&接收tpdisconnect回复消息:&sdisconnres xmlns="http://xmlbeans.lan.org/sdisconnres"&
&serviceName&S_SERVICE&/serviceName&
&sid&0&/sid&
&resFlag&DISCONNECT SUCCESS&/resFlag&
&gid&414df6a617a7a6f6ea&/gid&
&/sdisconnres&如上所示,Tuxedo_MQ的Java客户端显示了整个会话周期内的所有通信信息。
developerWorks: 登录
标有星(*)号的字段是必填字段。
保持登录。
单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件。
在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。
所有提交的信息确保安全。
选择您的昵称
当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。
您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。
标有星(*)号的字段是必填字段。
(昵称长度在 3 至 31 个字符之间)
单击提交则表示您同意developerWorks 的条款和条件。 .
所有提交的信息确保安全。
IBM PureSystems(TM) 系列解决方案是一个专家集成系统
通过学习路线图系统掌握软件开发技能
软件下载、试用版及云计算
static.content.url=/developerworks/js/artrating/SITE_ID=10Zone=WebSphereArticleID=193407ArticleTitle=IBM WebSphere 系列产品和 BEA Tuxedo Server 的集成方案,第 3 部分: 使用 IBM WebSphere MQ 对集成方案的功能进行扩充publish-date=

我要回帖

更多关于 大数据解决方案 的文章

 

随机推荐