Tuxedo服务中间件

Tuxedo

概述


第一节 环境

安装环境

linux
版本
#cat /etc/issue 查询版本
CentOS release 6.6 (Final)
换源
#阿里云的源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum clean all
yum makecache
#由于我用的是Centos6.6阿里云的源已经移除了所以需要换到其他的源
http://mirrorlist.centos.org
安装jdk
#jdk版本
jdk-8u281-linux-x64.tar.gz
#安装
tar -zxvf jdk-8u281-linux-x64.tar.gz
#环境变量
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_281
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
#测试
java -version
安装ftp
#是否安装ftp
rpm -qa | grep vsftpd
yum -y install vsftpd
#开机启动
chkconfig vsftpd on
#修改配置文件,增加端口
vim /etc/sysconfig/iptables
service iptables restart
#修改配置文件 enforcing 模式改为disabled
vim /etc/selinux/config
reboot
#修改配置文件 /etc/vsftpd/vsftpd.conf
chroot_local_user=NO
userlist_enable=NO
#状态
service vsftpd status

tuxedo
版本
tuxedo122200_64_Linux_01_x86.zip
安装
#建议不要以root用户安装
unzip tuxedo122200_64_Linux_01_x86.zip
#图像界面安装,按需选择安装的组件(客户端、服务端、Jolt支持..)
sh runInstaller.sh
#执行环境变量(安装目录下),是两个点号,中间有空格,每次执行tuxedo的命令都需要先执行环境变量
. ./tux.env
#测试
tmadmin -v
目录
#安装文件目录
Disk1/install
#应用进程目录,tuxedo支持的应用进程,BBL等..
OraHome_1/tuxedo12.2.2.0.0/bin
#tux.env环境变量
OraHome_1/tuxedo12.2.2.0.0/tux.env
#java应用进程配置文件xml约束目录
OraHome_1/tuxedo12.2.2.0.0/udataobj/tuxj/TJSconfig_2.1.xsd
#service服务和java映射目录定义出入参数
OraHome_1/tuxedo12.2.2.0.0/udataobj/jolt/repository/jrepository

第二节 java示例

调用关系

mark

代码示例

客户端
#gitee仓库 代码git clone路径
https://gitee.com/lanseyouyu/txclient.git
Tuxedo服务
查询服务/更新服务
上传文件服务
下载文件服务
#gitee仓库 代码git clone路径
https://gitee.com/lanseyouyu/txservice.git
接口服务端
#gitee仓库 代码git clone路径
https://gitee.com/lanseyouyu/txinterface.git    

配置文档详解

tuxedo应用配置文档

环境变量
vim /etc/profile
export TUXCONFIG=tuxconfig文件所在目录
source /etc/profile
ubbconfig文件

配置文件文本格式,通过命令生成tuxconfig二进制文件

文件内容
#示例(注释需要删除),每个key value之后留有空格否则会生成报错
*RESOURCES
IPCKEY 80952
#SITE1 主控节点
MASTER SITE1
#SHM 单机模式
MODEL SHM 
*MACHINES
#设备逻辑名 uname -n 有特殊字符需要用""包含
"localhost.localdomain" LMID=SITE1 
#安装目录
TUXDIR="/home/zhangxiaojun/OraHome_1/tuxedo12.2.2.0.0"
#应用查询目录
APPDIR="/home/zhangxiaojun/java" 
#配置文件目录和环境变量中的一致
TUXCONFIG="/home/zhangxiaojun/config/tuxconfig" 
#环境变量文件
ENVFILE="/home/zhangxiaojun/OraHome_1/tuxedo12.2.2.0.0/tux.env" 
#tuxedo日志文件和ULOG前缀,一天生成一个文件
ULOGPFX="/home/zhangxiaojun/log/ULOG" 
MAXACCESSERS=100 
MAXCONV=15
MAXWSCLIENTS=5 
*GROUPS
#server分组,一个组一个数据库连接
BANKB1 GRPNO=200 LMID=SITE1 
*SERVERS
#tuxedo提供的java服务注册server,MINDISPATCHTHREADS要大于2,java程序配置文件TJSconfig.xml
TMJAVASVR SRVGRP=BANKB1 SRVID=3 CLOPT="-A -- -c /home/zhangxiaojun/config/TJSconfig.xml" MINDISPATCHTHREADS=2 MAXDISPATCHTHREADS=3 
#jolt客户端监听程序,监听的端口//192.168.43.198:45000,ip与主机一致,并且开放45000端口
JSL SRVGRP=BANKB1 SRVID=112 CLOPT="-A -- -n //192.168.43.198:45000 -m 10 -M 10 -x 10 -c 1024" 
#jolt客户端与service的函数映射文件,如果不配置,jolt客户端会报找不到服务,又特定工具生成的文件
JREPSVR SRVGRP=BANKB1 SRVID=116 CLOPT="-A -- -f /home/zhangxiaojun/config/jrepository" 
tuxeconfig文件

配置文件二进制格式,tuxedo启动需要加载的配置文件

#通过ubbconfig文件生成,tuxeconfig二进制文件,-y标识覆盖更新
tmloadcf -y ubbconfig
ULOG文件

tuxedo运行的日志文件,ULOGPFX指定的目录


java服务配置文档

TJSconfig.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!--删除注释-->
<!--TJSconfig根标签,version定义是通过哪个一个约束文件来解析,2.1代表TJSconfig_2.1.xsd这个文件约束-->
<TJSconfig version="2.1">
    <!--jvm类路径,支持*配置,放置一些jar和配置文件以及service服务-->
	<classpath-config>
		<classpath>/home/zhangxiaojun/jars/*</classpath>
		<classpath>/home/zhangxiaojun/java/*</classpath>
	</classpath-config>
	<tux-server-config>
        <!--server名,唯一-->
		<server-module name="MyTuxedoJavaServer">
            <!--name 全类名-->
			<server-class name="tuxedo.service.MyTuxedoJavaServer">
                <!--一个class中可以定义多个服务-->
				<services>
           <!--服务映射,和java中的方法映射,java中方法如果为void 入参为TPSVCINFO 会自动映射成服务-->
					<service name="TOUPPER" target="toUpper"/>
				</services>
			</server-class>		
		</server-module>
		<server-module  name="MyTuxedoJavaHttp">
			<server-class name="tuxedo.service.MyTuxedoJavaHttp">
				<services>
					<service name="POSTHTTP" target="postHttp"/>
				</services>
			</server-class>
		</server-module>
	</tux-server-config>
</TJSconfig>
jrepository

xml约束文件
#参考
OraHome_1/tuxedo12.2.2.0.0/udataobj/tuxj/TJSconfig_2.1.xsd
stdout文件

system.out标准输出文件,一般在APPDIR配置的文件内

stderr文件

java发生exception,错误输出文件,一般在APPDIR配置的文件内

access文件

客户端连接登录文件,一般在APPDIR配置的文件内


参考资料

图书

Tuxedo中间件开发与配置_徐春金编著_北京:中国电力出版社

Oracle官网文档

C:/Users/Administrator/Desktoptux12cdocs-pdf/pdf/pgj.pdf

1.可以冲官网下载

2.联系我百度网盘提供

github示例

https://github.com/TuxedoUsers/Tuxedo-samples

文章参考

//【译】使用Java编写Oracle Tuxedo应用
https://blog.csdn.net/konglongaa/article/details/76213705
//linux下的tuxedo开发实例
https://blog.csdn.net/chenxiaohua/article/details/2060229
//tuxdo安装和配置问题
http://www.doczj.com/doc/fd1bfc2b915f804d2b16c1d8.html
//Tuxedo ubbconfig配置详解
https://blog.csdn.net/mydriverc2/article/details/79753723
//windows XP 调通tuxedo的simpapp所经历的艰苦过程
https://blog.csdn.net/heiheben/article/details/2712427
//本地搭建tuxedo服务(六):tuxedo 常用命令
https://blog.csdn.net/Luojie0007/article/details/107641304
//【译】使用Java编写Oracle Tuxedo应用
https://segmentfault.com/a/1190000002598827
//linux中ldconfig的使用介绍
https://blog.csdn.net/chenzixun0/article/details/56278632
//LINUX 找不到共享库 libjvm.so
http://www.voidcn.com/article/p-cvwupawn-dh.html
//Managing The Oracle Tuxedo Service Metadata Repository
https://docs.oracle.com/cd/E18050_01/tuxedo/docs11gr1/ads/admrp.html

备注 问题总结

无法创建连接

在这里插入图片描述

1.服务器端口未开放

2.服务端口配置文件监听端口不正确

3.客户端发送端口不正确

找不到libjvm.so

linux下载安装后运行java服务,TMJAVAVR启动失败,日志显示找不到libjvm.so

1.检查环境变量文件的设置(一般没有什么问题) tux.env

2.将jdk的路径下的libjvm.so的路径加入到ld.so.conf文件中

echo "/usr/local/mysql/lib" >> /etc/ld.so.conf
ldconfig -v | grep libjvm.so

猜你喜欢

转载自blog.csdn.net/qq125281823/article/details/115263601