读书人

[转]JAVA经过JOLT方式调用TUXEDO服务(

发布时间: 2013-03-06 16:20:31 作者: rapoo

[转]JAVA通过JOLT方式调用TUXEDO服务(TOUPPER)
(1) 配置JOLT服务器
配置ubb文件,增加JSL,JREPSVR服务组合服务
*GROUPS
JSLGRP
?LMID=simple GRPNO=5 OPENINFO=NONE
JREPGRP
?LMID=simple GRPNO=6 OPENINFO=NONE
*SERVERS
JSL????SRVGRP=JSLGRP SRVID=600 CLOPT="-A -- -n //192.168.5.233:6500 -m 3 -M 6 -x 5"????????? //此处配置监听地址,类似WSL
JREPSVR??SRVGRP=JREPGRP?SRVID=650 CLOPT="-A -- -W -P D:\BEA_Tuxedo11g\Ora_Home\tuxedo11gR1_VS2010\udataobj\jolt\repository\jrepository"?? //指出服务存储器所在位置
(2) 配置JOLT存储库
有两种方式:
a.存储库建立工具jdld
b.使用存储库编辑器
本人使用第一种方式(感觉比较直观、方便),使用存储库之前要先确保jolt.jar、joltadmin.jar已经被配置在CLASSPATH中,我的配置如下:
set CLASSPATH=%CLASSPATH%;D:\BEA_Tuxedo11g\Ora_Home\tuxedo11gR1_VS2010\udataobj\jolt\jolt.jar;D:\BEA_Tuxedo11g\Ora_Home\tuxedo11gR1_VS2010\udataobj\jolt\joltadmin.jar
编辑描述服务及其参数的文件simpserv.repservice=TOUPPER
export=true
inbuf=STRING
outbuf=STRING
param=STRING
type=string
access=inout编辑好之后执行下列命令,导入服务
$java bea.jolt.admin.jbld -p SIMPSERV //192.168.5.233:6500 simpserv.rep
(3)?如果java客户端和tuxedo服务端不是部署在同一台机器上,那么还需要配置JOLT互联中继(JRLY,JRAD),由于本人是部署在同一台主机上的,所以,就省去这一步。
(4)?编写java客户端:
Simpapp.java:
import bea.jolt.*;
public class Simpapp{????public static void main(String[] args){????????String username=null,userPasswd=null;????????String userRole=null,appPassword=null;????????String svcname="TOUPPER",retString=null;????????JoltSessionAttributes attr=new JoltSessionAttributes();????????JoltRemoteService Toupper;????????JoltTransaction trans;????????JoltSession session;????????attr.setString(attr.APPADDRESS,"//192.168.5.233:6500");????????switch(attr.checkAuthenticationLevel()){????????????case JoltSessionAttributes.NOAUTH:????????????????break;????????????}????????attr.setInt(attr.IDLETIMEOUT,300);????????session=new JoltSession(attr,username,userRole,userPasswd,appPassword);????????Toupper=new JoltRemoteService(svcname,session);????????Toupper.setString("STRING","Yesterday once more!");????????trans=new JoltTransaction(5,session);????????Toupper.call(null);????????trans.commit();????????retString=Toupper.getStringDef("STRING","");????????System.out.println("retString="+retString);????????session.endSession();????????}}
执行下列命令,编译java文件:
$javac -d . Simpapp.java
(5)?测试结果,执行Simpapp
$java Simpapp
retString=YESTERDAY ONCE MORE!?注:本文参考经乾《tuxedo系统经典》

读书人网 >软件架构设计

热点推荐