Java通过Jolt调用Tuxedo服务

合集下载

socket java 用法

socket java 用法

Socket Java 用法什么是 Socket?Socket(套接字)是计算机网络中的一个概念,它是一种用于网络通信的编程接口。

通过使用 Socket,我们可以在不同的计算机之间建立连接,进行数据的传输和通信。

在 Java 中,Socket 是一种用于网络通信的类,它提供了一种简单而强大的方式来实现网络编程。

通过使用 Socket,我们可以创建客户端和服务器程序,实现数据的传输和通信。

Java Socket 类的使用在 Java 中,Socket 类位于包中,用于创建一个客户端套接字。

要使用 Socket 类,我们需要进行以下步骤:1.导入包:import .*;2.创建 Socket 对象:Socket socket = new Socket();3.设置服务器的 IP 地址和端口号:String serverIP = "服务器的IP地址";int serverPort = 8080;socket.connect(new InetSocketAddress(serverIP, serverPort));4.获取输入流和输出流:InputStream inputStream = socket.getInputStream();OutputStream outputStream = socket.getOutputStream();5.进行数据的读写操作:// 从服务器接收数据byte[] buffer = new byte[1024];int length = inputStream.read(buffer);String receivedData = new String(buffer, 0, length);// 向服务器发送数据String sendData = "Hello, Server!";outputStream.write(sendData.getBytes());6.关闭 Socket 连接:socket.close();Java ServerSocket 类的使用除了 Socket 类用于创建客户端套接字外,Java 还提供了 ServerSocket 类,用于创建服务器套接字。

JAVA与TUXEDO环境集成

JAVA与TUXEDO环境集成

A JAVA集成TUXEDO方式两种调用TUXEDO服务的方式,JOLT,WTC1.JOLT是一个单项解决方案,只允许JA V A应用调用TUXEDO,不支持TUXEDO的反向调用。

2.WTC是双向解决方案,支持两者间的相互调用,而且从架构上提供两个服务器间的事务和安全集成。

倾向于选择部署WebLogic服务,通过WTC与后台TUXEDO服务互操作。

WTC的实现WTC是WebLogic用于集成Tuxedo的一个部件,部署在WebLogic上的JSP,SERVET,EJB应用可以通过WTC提供API来调用Tuxedo的服务,Tuxedo也可以通过WTC来访问WebLogic 服务器上的应用。

开发阶段Tuxedo端配置1.修改.profile文件,设置必要环境变量在原有Tuxedo服务环境变量基础上添加环境变量BDMCONFIG设置BDM文件路径(同Ubb文件编译后生成2进制配置文件),使用dmloadcf编译。

2.修改UBB文件在原有配置基础上添加3个通信serverDMADM SRVGRP=GROUP4 SRVID=1GWADM SRVGRP=GROUP4 SRVID=2GWTDOMAIN SRVGRP=GROUP4 SRVID=33.新增dm文件基本格式#本地配置指Tuxedo机器注意GWGRP=GROUP4,GROUP4在ubb中指定*DM_LOCAL_DOMAINSTDOM1 GWGRP=GROUP4TYPE=TDOMAINDOMAINID="TDOM1"BLOCKTIME=20MAXDATALEN=56MAXRDOM=89#远端配置指weblogic机器*DM_REMOTE_DOMAINSTDOM2 TYPE=TDOMAINDOMAINID="TDOM2"#指定本地机器,远端机器IP地址TDOM1 与*DM_LOCAL_DOMAINS节点DOMAINID="TDOM1"对应TDOM2 与*DM_REMOTE_DOMAINS节点DOMAINID="TDOM2"对应*DM_TDOMAINTDOM1 NWADDR="//128.96.96.109:9977"TDOM2 NWADDR="//128.96.96.109:9988"#指定本地提供交易名(Tuxedo提供给Weblogic调用的交易名)TOUPPER 本地TUxedo提供交易名RNAME="TOUPPER" 远端调用交易名(相当与远端调用时使用的别名) *DM_LOCAL_SERVICESTOUPPER RNAME="TOUPPER"ServConsole RNAME="ServConsole"#指定远端提供服务名(Weblogic提供给Tuxedo调用交易名)*DM_REMOTE_SERVICESWeblogic端配置1>(Wtc服务配置) - 新增WTC服务名-案例中为WTCtest2>(本地AP)TDOM2配置-对应tuxedo端TDOM2配置3>(远端AP)TDOM1配置-对应Tuxedo端TDOM1配置4>(已导入服务)对应Tuxedo端dm配置文件*DM_LOCAL_SERVICES节点5>(已导出)对应Tuxedo端dm配置文件*DM_REMOTE_SERVICES节点6>(可用服务)通过选取,控制-服务选项,可查看当前WTC提供服务维护阶段需要新增服务只需在*DM_LOCAL_SERVICES或*DM_REMOTE_SERVICES节点添加相应交易名即可。

06_TUXEDO_客户端

06_TUXEDO_客户端

<Insert Picture Here>Tuxedo 客户端Tuxedo客户端简介/WS基本配置/WS常见问题/WS性能优化的最佳实践 实验Tuxedo客户端简介✓Tuxedo客户端分类✓Native Client✓Workstation Client✓Jolt Client✓CORBA Client/WS基本配置/WS常见问题/WS性能优化的最佳实践 实验根据与服务器通讯方式的不同,客户端可以分为以下四类•Native Client客户端通过IPC与服务器通讯•Workstation Client客户端通过TCP/IP Socket与服务器通讯•Jolt ClientJava客户端通过TCP/IP Socket与服务器通讯•Tuxedo CORBA Client客户端通过IIOP协议与服务器通讯•运行时必须设置TUXCONFIG环境变量–UBB文件中的IPCKEY, UID, GID, PERM•通过IPC-SHM查询BB(公告牌)信息•SHM和MP模式下都可运行–只能运行在UBBCONFIG MACHINES部分定义的机器上•不计算入license中•Tuxedo中Native client程序–管理工具: tmadmin, dmadmin, qmadmin和tmconfig等等–MIB工具: ud, ud32•远程调用Tuxedo Server上的service •Tuxedo Client版本就可以运行•通过网络TCP/IP调用服务•7.1之后支持客户端多次线程编程•限制–tmadmsys管理服务不能调用/WS Components•WSC Workstation Client •WSL Workstation Listener •WSH Workstation Handler/WS 工作原理WSHWSC WSLWSHServer WSSHMBulletin Board Client MachineServer Machine ServerWSNADDRJolt Client•Tuxedo客户端的Java形式的API•与/WS技术类似。

第11章:TUXEDO与其他系统的互连

第11章:TUXEDO与其他系统的互连

第十二章:TUXEDO与其他系统的互连12.1TUXEDO的/DOMAIN技术介绍/DOMAIN简介随着企业信息化的水平的不断提高,各类新兴业务的不断涌现,一个企业内部会有很多计算机应用系统,如ERP,CRM,CALL CENTER,电子商务系统,大机遗留系统等等,同时不同的企业之间要实现电子商务,他们之间的系统也要能够互相调用。

在一个复杂的企业应用环境下,不同产商的产品,不同应用系统之间要能够有效的互连,实现互操作,为企业构造一个紧密协作、集中管理的,同时又是一个高可靠、高可用、易于扩展的企业应用环境。

TUXEDO是一个高度开放的系统,能够很容易的与别的应用系统实现互操作。

为了有效实现有其他系统的互连,TUXEDO提出了DOMAIN(域)的概念,将由很多台 (几百甚至上千)服务器共同组成的应用系统按功能或结构划分为不同的域,每个域独立地完成域内的操作,域间操作由域网关完成,从而提高每个域和整个系统的运行效率。

TUXEDO的域特性把客户/服务器模型扩展到多个独力自治的应用系统. 一个域既可以是一组TUXEDO的应用程序——若干相关的应用服务和配置环境的组合。

域同时也可能是一组运行在另一个非TUXEDO环境中的应用程序。

TUXEDO和其他中间件的互操作也是利用域的概念来实现的。

不同的TUXEDO应用域中的服务程序可以互相访问对方的服务,并且当一个交易同时执行多个应用域中的服务(即对于分布式事务处理)时,能够确保交易的完整性。

同时,TUXEDO系统可以指定哪些服务是可供外部应用域访问的并可为这些服务设置访问控制表等安全认证手段,提高整个系统的安全性。

TUXEDO对域的划分和管理类似于网络应用中划分子网的概念—将复杂的网络应用按功能或地域等因素划分为不同的子网,子网间以路由器联接,不同的网络协议通过网关透明地转换,从而提高网络效率并加强整个网络的可管理性。

这一应用模式已被广泛证明是处理大范围、复杂应用的成功经验和事实上的标准,同时也是TUXEDO在多年大规模企业用户的实际应用中总结和开发的行之有效的中间件功能。

tuxedo配置和服务部署

tuxedo配置和服务部署

tuxedo配置和服务部署TUXEDO应用服务配置、部署手册1. WINDOWS环境下TUXEDO服务端应用程序的部署和配置1.1 tuxedo的安装确定安装介质(Tuxedo安装程序)运行Setup图表 -1 Tuxedo安装向导图表-2 Tuxedo安装向导点击“Next”,继续图表 -3 许可证协议选择“YES”,继续图表 -4:选择安装类型选择“Full Installation”,继续图表 -5 制定安装路径路径设为“d:\bea”,继续图表 -6 产品路径6.路径设为“d:\bea\tuxedo”,继续图表 -7安装程序开始拷贝文件等待安装程序拷贝文件。

图表 -8输入Listen password输入Listen password,输入两个相同的密码,“lp”,继续图表 -9安装SSL选择“NO”,继续图表-10:安装LDAP取安装程序的默认值,继续图表 -11:安装License 选择“no”,继续图表 -12:Tuxedo安装完毕安装完毕注意事项LIC的安装假设TUXEDO安装在d:\bea\tuxedo,在udataobj子目录中考入lic.txt1.2 应用程序的配置关于环境变量的配置,setenv.bat文件格式如下:rem Copyright (c) 1995 Novell, Inc.rem All Rights Reservedrem THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OFrem Novell, Inc.rem The copyright notice above does not evidence anyrem actual or intended publication of such source code.rem Copyright (c) 1995 Novell, Inc.rem All rights reservedrem ident "@(#) apps/simpapp/setenv.cmd $Revision: 1.1 $"set TUXDIR=d:\bea\tuxedoset WSNADDR=//10.233.128.18:8888set APPDIR=d:\ydlwset PATH=%TUXDIR%\bin;%APPDIR%;%PATH%set LIB=%LIB%;d:\Oracle\Ora9\precomp\lib\msvc;set TUXCONFIG=%APPDIR%\tuxconfigset FIELDTBLS32=qqdata,fhdata,yhfymx,comfldset FLDTBLDIR32=%APPDIR%;%TUXDIR%\udataobjcall %APPDIR%\VCVARS32.BAT需要注意的地方用红色标记,其中TUXEDO为tuxedo的安装主目录,APPDIR 为应用程序主目录,根据实际情况进行修改。

Tuxedo中间件平台管理维护介绍

Tuxedo中间件平台管理维护介绍
本地客户端
客户端和服务器运行在同一台主机上
远程客户端
客户端和服务器运行在不同的主机上 使用Tuxedo /WS (Workstation)组件的/WS客户端 使用JOLT的客户端,即Java客户端 CORBA 客户端
编程语言
C/C++ Delphi VB Java …
| 34
安装过程中常见问题以及解决方法(1)
多个版本TUXEDO的共存 可以共存,安装在不同的目录下 启动时,设置对应版本的环境变量(TUXDIR,PATH) UBB配置(TUXDIR) Tuxedo补丁的加入方法 UNIX
TAR.Z的包,解压时不能覆盖原来的文件,必须独立的空间 解压后有可执行脚本文件install 反安装:运行反安装脚本uninstall
tmunloadcf >ubbconfig
通过环境变量TUXCONFIG供系统运行时使用 SET TUXCONFIG=C:\TuxDP\labs\simpapp\tuxconfig
启动时,从内存中申请共享内存块 该内存启动时,把所有UBB文件配置的信息载入
| 39
UBBCONFIG文件中各部分之间的关系
| 36
安装过程中常见问题以及解决方法(3)
安装Rolling Patch失败 现象:
Installing server and client files... Enter owner for patch files: tuxedo8 Enter group for patch files: bea *** Error: uninstall must be in the current directory and owned by tuxedo

java调用外部接口带请求参数队列的方法

java调用外部接口带请求参数队列的方法

java调用外部接口带请求参数队列的方法标题:Java调用外部接口带请求参数队列的方法引言:在现代软件开发中,与外部系统或服务进行交互是一个常见的需求。

借助Java的强大功能和丰富的生态系统,我们可以轻松地调用外部接口来获取所需的数据或执行相应的操作。

然而,当我们需要批量处理请求参数时,一个普通的调用方式可能无法满足我们的需求。

本文将介绍一种解决方案,即使用队列来处理请求参数并调用外部接口的方法。

1. 问题概述在某些情况下,我们需要同时调用外部接口并传递多个请求参数,但由于各种限制或要求,我们无法直接一次性将所有参数传递给接口。

这时,我们需要一种能够管理请求参数队列,并按需调用外部接口的方法。

2. 队列实现为了实现请求参数队列,我们可以使用Java中的一个常见数据结构——队列(Queue)。

队列可以帮助我们按照先进先出的原则管理请求参数,并确保请求按顺序处理。

Java中提供了多种队列的实现方式,如ArrayBlockingQueue、LinkedBlockingQueue等,我们可以根据具体需求选择适合的实现。

3. 构建请求参数对象为了方便管理和传递请求参数,我们可以创建一个自定义的请求参数对象。

该对象可以包含外部接口所需的各个参数以及额外信息,以便在调用接口时使用。

通过定义一个请求参数对象,我们可以更好地组织和管理请求参数队列,提高代码的可读性和可维护性。

4. 调用外部接口使用队列管理请求参数后,我们需要编写代码来按需调用外部接口。

这里我们可以使用一个循环来不断从队列中获取请求参数,并调用外部接口进行处理。

当队列为空时,表示所有请求参数已经处理完毕,循环结束。

5. 异常处理与重试机制在调用外部接口时,可能会出现各种异常情况,如网络异常、接口返回错误等。

为了保证调用的稳定性和可靠性,我们可以在代码中加入异常处理和重试机制。

当发生异常时,我们可以选择重新将该请求参数加入队列并进行适当的重试,以确保请求的完整处理。

TUXEDO管理配置中文说明

TUXEDO管理配置中文说明

Tuxedo的配置管理简要说明Tuxedo的配置管理简要说明 (1)一、Tuxedo基本命令 (2)二、UBB文件配置说明 (3)三、数据库XA设置 (8)3.1 ORACLE XA (8)3.2 SYBASE XA (9)3.3 INFORMIX XA (9)四、Tuxedo多机方式配置要点 (10)4.1启动tlisten (10)4.2 ubb文件配置 (10)4.3管理 (11)五、用JOLT连接Tuxedo和Weblogic (12)5.1在Tuxedo上安装、配置JOLT Server (12)5.2 配置Weblogic Server 6.x (13)5.3 Example setup (13)六、TUXEDO动态配置 (14)6.1 用tmadmin修改配置 (14)6.2 用tmconfig更改TUXCONFIG(UBBCONFIG) (14)一、Tuxedo基本命令#1.设臵环境变量TUXDIR,APPDIR,TUXCONFIG,LANG(跟OS相关),LD_LIBRARY_PATH(跟OS相关)#2.编译ubb文本生成二进制配臵文件:tmloadcf –y ubbconfig#3.所有机器上运行tlisten,具体见文档中NETWORK一节#4.启动tmboot –y#5.关闭tmshutdown –y参数:-A 在所有机器上启动/关闭管理的Server进程-M 只在MASTER机器上启动/关闭管理的Server进程-i srvid启动/关闭某个server id指定的Server进程-g grpname 启动/关闭某个server group名字指定的Server Group-S启动/关闭所有应用服务器(LMID)-s server-name启动/关闭某个server名字指定的Server进程-l lmid option 在指定的机器上启动/关闭所有TMS进程和应用服务器(LMID)-T grpname 启动/关闭指定的server group中所有的TMS进程-B lmid在指定的机器上启动/关闭BBL进程-e command 指定一个程序可以当在MASTER机器上启动任何一个进程失败时执行-c计算出当前UBB配臵的Tuxedo启动最少要占用的系统IPC资源#用tmunloadcf > generated.ubb 可以得出目前配臵得UBB文件所有得参数值(没有设臵的有缺省值)#用tmloadcf –c或tmboot –c可以计算出当前UBB配臵的Tuxedo启动最少要占用的系统IPC资源。

win7_java调用tuxedo

win7_java调用tuxedo

Java通过jolt调用tuxedo1、简介和环境本文主要讲解使用Jolt来调用tuxedo方法。

环境:操作系统:win7Tuxedo: 11GJdk:1.5本文未讲解服务端代码,如果服务端代码不懂,可以查看我上一份文档/view/25fe80bf69dc5022aaea0016.html2、调用服务理论步骤2.1.先准备Tuxedo服务端代码2.2在Tuxedo中配置Jolt相关文件,其实就是配置ubbconfig文件2.3.启动Tuxedo服务2.4.编写java代码,调用。

3、Tuxed o服务端3.1、服务端配置文件说明:我空间里的上一份文档已经讲解了如果在用tuxedo创建一个服务,并且通过c 调用的列子,这次就用上一份的服务端代码,这里就不做讲解了。

主要讲解下配置文件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.*RESOURCESIPCKEY 32970#Example:#IPCKEY 32970DOMAINID simpappMASTER simpleMAXACCESSERS 50 #这里做了改动,原来是5现在修改了50 MAXSERVERS 50 #这里做了改动,原来是5现在修改了50MAXSERVICES 50 #这里做了改动,原来是5现在修改了50,这里尽量设置的大一点,否则可能会在启动服务的时候有几个服务启动失败。

MODEL SHMLDBAL N*MACHINESDEFAULT:APPDIR="D:\tuxedo_pro\simpapp"TUXCONFIG="D:\tuxedo_pro\simpapp\tuxconfig"TUXDIR="E:\instal\bea\tuxedo11gR1"MAXWSCLIENTS=5 #这里添加了客户端数量,否则会导致错误。

TUXEDO+JOLT配置与编程简介

TUXEDO+JOLT配置与编程简介

JOLT的配置与编程简介开发建立一个JOLT 客户端访问BEA Tuxedo 的应用服务的主要的步骤,可以描述以下的过程(参见下图)1、确认已经安装BEA Jolt 系统2、首先要建立或已经存在一个BEA Tuxedo 系统的一个应用服务3、利用Bulk Loader(批量装载)工具装载 BEA Tuxedo 应用服务到 Jolt RepositoryDatabase1)使用 Bulk Loader:jbld 是一个java 程序,在运行 jbld 命令以前检查环境变量 CLASSPATH 是否指定了 jolt 类的路径(jolt.jar、joltadmin.jar),如果没有指定这个环境变量,java 虚拟机不能够定位到任何的 jolt classes** 激活Bulk Loader:在提示符下输入以下命令(带上正确的选择项):java bea.jolt.admin.jbld [-n][-p package][-u usrname][-r usrrole]//host:port filename**批量装载文件- the Bulk Loader FileBulk Loader File 是一个定义服务和关联参数文本文件,Bulk Loader装载定义在the Bulk Loader File(批量装载文件)中的服务到 jolt 接口服务库中(默认的包是:BULKPKG)。

2) Bulk Loader File 的语法每一个服务定义是由服务属性和参数组成的:属性和参数都有一个要设置的数字,每一个属性描绘都通过一个关键字和一个值关键字分为两层:◎Service_level (服务层)◎Parameter_level (参数层)* 关键字的指导方针* jbld 程序读取服务定义文本文件,关键字的用法遵守下表的指导方针:◎在Bulk Loader 文本文件中关键字的顺序一个服务定义必须以service=<SERVICE_NAME> 开始,服务如果是采用CARRAY 或者是STRING 类型的BUFFER,在服务中只有一个参数。

loadrunner测试tuxedo服务

loadrunner测试tuxedo服务

Loadrunner11监控Tuxed o 性能一、tuxedo客户端安装及配置:1、客户端环境:win7、windows xp(这里是win7)2、客户端:tuxedo111120_32_win_2k8_x86_VS2008.exe(这个包含了客户端与服务端,安装时,选择装客户端就可以了;可以在oracle官方网站下载);3、安装方法:(1)单击右键,以管理员身份安装;(2)选择路径c:\bea\tuxedo11gR1(可以选择其他路径);(3)设置环境变量名称TUXDIR,值为c:\bea\tuxedo11gR1;(若要安装服务端,请参考:tuxedo11g安装for Windows.doc,安装的时候记得选择安装simpapp)(4)windows XP 环境变量PATH: c:\bea\tuxedo11gR1\bin二、服务端安装及配置:OS: Win7家庭普通版编译器: Microsoft Visual Studio 2010tuxedo:tuxedo11gR1_32_win_2k8_x86_VS2008.exetuxedo安装路径:D:\bea11g\tuxedo11gR1App程序路径:D:\src\simpapp1)安装tuxedo:tuxedo11gR1_32_win_2k8_x86_VS2008.exe,以管理员方式运行2)将simpapp示例程序copy到:D:\src3)将vcvars32.bat 拷贝到D:\src\simpapp文件下本机安装的是Microsoft Visual Studio 2010本机的vcvars32.bat位于D:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat4)修改setenv.cmdrem(c) 2003 BEA Systems, Inc. All Rights Reserved.rem Copyright (c) 2000 BEA Systems, Inc.rem All Rights Reservedrem THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OFrem BEA Systems, Inc.rem The copyright notice above does not evidence anyrem actual or intended publication of such source code.rem Copyright (c) 2000 BEA Systems, Inc.rem All rights reservedrem ident";@(#) apps/simpapp/setenv.cmd$Revision: 1.5 $";set TUXDIR=D:\bea11g\tuxedo11gR1set WSNADDR=192.168.1.174::8880set APPDIR=D:\src\simpappset PATH=%TUXDIR%\bin;%APPDIR%;%PATH%set TUXCONFIG=%APPDIR%\tuxconfigCall D:\src\simpapp\vcvars32.bat5)修改ubbsimple#(c) 2003 BEA Systems, Inc. All Rights Reserved.#ident";@(#) samples/atmi/simpapp/ubbsimple$Revision: 1.7 $";#Skeleton UBBCONFIG file for the TUXEDO Simple Application.#Replace the <;bracketed>; items with the appropriate values.*RESOURCES#IPCKEY<;Replace with a valid IPC Key>;#Example:IPCKEY 123456DOMAINID simpappMASTER simpleMAXACCESSERS 10MAXSERVERS 5MAXSERVICES 10MODELSHMLDBALN*MACHINESDEFAULT:APPDIR=";D:\src\simpapp";TUXCONFIG=";D:\src\simpapp\tuxconfig";TUXDIR=";D:\bea11g\tuxedo11gR1";#Example:#APPDIR=";/home/me/simpapp";#TUXCONFIG=";/home/me/simpapp/tuxconfig";#TUXDIR=";/usr/tuxedo";";THINKPAD-WM";LMID=simple #THINKPAD-WM为本机计算机名#Example:#beatuxLMID=simple*GROUPSGROUP1LMID=simpleGRPNO=1OPENINFO=NONE*SERVERSDEFAULT:CLOPT=";-A";simpservSRVGRP=GROUP1 SRVID=1*SERVICESTOUPPER6)以管理员方式运行cmd(最好从我下载的里面直接运行:见simpapp.rar),执行下面命令D:\src\simpapp>;dir驱动器 D 中的卷没有标签。

TUXEDO服务端开发介绍

TUXEDO服务端开发介绍

TUXEDO服务端开发介绍中海集团资金结算管理系统采用了三层体系结构,具有良好的稳定性、安全性。

系统数据集中管理,易于维护。

柜面应用程序采用C/S结构,前台界面采用Delphi开发工具,界面具有易于操作,方便快速录入等特点。

交易中间件采用tuxedo,保证了前后台数据的交互、队列管理、事务处理。

业务逻辑采用C语言开发。

这里,我向大家介绍一下TUXEDO服务器端开发:一、服务的运行流程为了更好的了解服务端的所有任务以编写服务端应用,有必要重新认识服务端在C/S模式中扮演的角色。

首先,服务是系统资源的联系点。

例如,一个数据库服务联系实际数据库并对其进行查询和修改。

为有效进行,应建立一个数据库连接。

其次,服务必须发布系统内可以访问的交易,保证客户端可以知道把请求发往何处。

以上两步结束后,服务进入一个循环——接收请求、处理请求并返回结果。

接收请求包括进入消息队列,得到交易请求。

处理请求包括检查请求数据缓冲,运行商业规则和逻辑,可能还包括访问数据库和返回结果数据缓冲。

当系统管理员需要关闭系统,可以通过系统管理工具将关闭系统的消息发给服务。

服务完成所有交易,取消交易发布,关闭资源连接然后结束。

二、返回控制接下来,我们说说返回控制。

在一般的C程序中,函数通过调用return()将控制返回,函数调用堆栈清空,控制返回调用点。

TUXEDO系统的交易函数必须结束于将回应返回给客户端或前转到另一交易。

函数tpreturn()用来结束交易将回应数据缓冲发给客户端。

函数tpforward()将交易前转给另一个交易,由其负责回应原来的客户端。

tpreturn()设计来代替常规的return(),结束绝大多数函数。

它将回应数据缓冲返回请求的客户端,控制权返回给服务程序的标准main()(由TUXEDO提供)。

tpreturn()使用下列参数:第一个值表示交易是否成功,有3种可能:TPSUCCESS 交易完全成功,如果是一个会话,TPEV_SVCSUCC被生成TPFAIL 交易失败,tperrno将被设成TPESVCFAIL。

Tuxedo与IIS的集成

Tuxedo与IIS的集成

BEA Tuxedo与IIS的集成■北京经乾Jolt的出现不但简化了Tuxedo客户程序的开发,使得Applet、Servlet、EJB等Java实体可以直接访问Tuxedo服务器,而且促成了Weblogic、Websphere等Java应用服务器与Tuxedo的无缝集成。

当Tuxedo工程师们在津津乐道着Jolt带来的诸多方便时,往往会忽略它的一个重要模块——JoltASP,它是是专门为整合IIS与Tuxedo服务器而开发的。

有了JoltASP,就可以在IIS中通过ASP脚本访问Tuxedo服务器,从而实现了二者的集成。

毕竟目前还有相当数量的WEB服务器运行着微软的IIS软件。

1.JoltASP的体系结构JoltASP的体系结构如右图所示,它由会话、会话池、会话池管理器三个部分组成。

会话用于描述一个和Tuxedo服务器的连接,每个会话对象都有一个唯一的标识。

会话池用于描述WEB服务器和Tuxedo服务器之间的多个物理连接,它负责把用户请求和一个会话对象连接起来。

会话池管即维护一组会话对象。

当客户请求到达时,若JoltASP尚未初始化,那么WEB服务器就初始化会话池管理器,创建一个会话池,建立若干个与Jolt服务器的会话连接。

若JoltASP已经初始化,WEB服务器就从会话池管理器中获取一个会话池对象,该会话池对象选择一个最不忙的会话来调用请求中指定的服务。

若一个会话被Jolt服务器单方面终止,会话池对象可以另启一个新的会话来完成服务调用,也可以将服务请求路由给其它会话去处理。

如果不能从会话池中获取会话,就会返回一个空对象。

2.为IIS配置JoltASP在%TUXDIR%\udataobj\jolt目录下,可以找到实现JoltASP的Java类joltasp.jar。

众所周知,IIS只支持ActiveX运行环境,而Java类只能在JRE中运行。

所以,要想整合IIS和Tuxedo,就必须找到一种工具,让它将Java类映射成IIS能够识别的ActiveX服务器组件,以便ASP能够创建和引用它的实例。

java调用.TMIB服务

java调用.TMIB服务

Java通过jolt调用.TMIB监控服务1、前言操作这一步的根底是在前面已经学会了tuxedo部署、simpapp列子,以与通过jolt用java 调用tuxedo列子的前提情况下查看,如果以上都不会,请查看我共享的其他几份文档。

2、Java代码比拟简单:以下贴出代码:这段代码中监控了服务、service、以与服务组,百度上说,服务和service之间是没有联系的,经过我查看发现有一个小小的联系,就是svcgrp,所以我这里也得到svcgrp,这样可以得到服务和service之间的联系。

package .insigma.siis.local.mib;import bea.jolt.JoltRemoteService;import bea.jolt.JoltSession;import bea.jolt.JoltSessionAttributes;public class TestMib {public static void main(String[] args) {try {connTuexdo(".TMIB", "", "192.168.101.63", 38151);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static String connTuexdo(String inServiceName, String inStr, String ServiceIP, intServicePort)throws Exception{JoltSession session = null;JoltSessionAttributes sattr = null;JoltRemoteService toupper = null;String userName = null, userPassword = null, appPassword = null, userRole = null,strResult = null;String serverName = "", serviceName = "", srvcgrvName = "", errorStr = "", stateStr = "", srvgrpName = "";int serverLength = 0, serviceLength = 0, srvgrpLength = 0;if (inServiceName == null)throw new Exception("调用平台服务错误:传入的服务名为空");try{sattr = new JoltSessionAttributes();sattr.setString("APPADDRESS", "//" + ServiceIP + ":" + ServicePort);sattr.setInt("IDLETIMEOUT", 1800);session = new JoltSession(sattr, userName, userRole, userPassword, appPassword);toupper = new JoltRemoteService(inServiceName, session);//得到服务信息toupper.addString("TA_OPERATION", "GET");toupper.addString("TA_CLASS", "T_SERVER");toupper.call(null);serverLength = toupper.getOccurrenceCount("TA_SERVERNAME");for (int i = 0; i < serverLength; i++) {serverName = toupper.getStringItemDef("TA_SERVERNAME", i, "");//如果服务状态没有信息的话,就把第三个参数返回给变量stateStr = toupper.getStringItemDef("TA_STATE", i, "");errorStr = toupper.getStringItemDef("TA_ERROR", i, "");srvgrpName = toupper.getStringItemDef("TA_SRVGRP", i, "");System.out.println("第"+ (i+ 1) +" 个服务名称:" + serverName + " 服务状态:" + stateStr+ " 错误信息:" + errorStr + " 服务组别的名称:"+ srvgrpName);}//得到服务组别信息toupper.clear();toupper.addString("TA_OPERA TION", "GET");toupper.addString("TA_CLASS", "T_SVCGRP");toupper.call(null);srvgrpLength = toupper.getOccurrenceCount("TA_SRVGRP");for (int j = 0; j < srvgrpLength; j++) {srvgrpName = toupper.getStringItemDef("TA_SRVGRP", j, "");//如果服务状态没有信息的话,就把第三个参数返回给变量stateStr = toupper.getStringItemDef("TA_STATE", j, "");errorStr = toupper.getStringItemDef("TA_ERROR", j, "");serviceName = toupper.getStringItemDef("TA_SERVICENAME", j, "");System.out.println("第"+ (j+ 1) +" 个服务状态:" + stateStr+ " 错误信息:" + errorStr + " 服务组别的名称:"+ srvgrpName + " 组下面的服务名称:"+ serviceName);}//得到服务下的具体函数信息toupper.clear();toupper.addString("TA_OPERA TION", "GET");toupper.addString("TA_CLASS", "T_SERVICE");toupper.call(null);serviceLength = toupper.getOccurrenceCount("TA_SERVICENAME");for (int k = 0; k < serviceLength; k++) {serviceName = toupper.getStringItemDef("TA_SERVICENAME", k, "");//如果服务状态没有信息的话,就把第三个参数返回给变量stateStr = toupper.getStringItemDef("TA_STATE", k, "");errorStr = toupper.getStringItemDef("TA_ERROR", k, "");System.out.println("第"+ (k+ 1) +" 个服务状态:" + stateStr+ " 错误信息:" + errorStr +" 组下面的服务名称:"+ serviceName);}/*toupper.setBytes("CARRAY", data, data.length );toupper.setString("STRING", "GET");toupper.setString("STRING", "T_SERVER");toupper.setString("TA_OPERA TION", "GET");toupper.setString("TA_CLASS", "T_SERVER");*//*int a = toupper.getOccurrenceCount("TA_SERVICENAME");System.out.println(a );String ss = "";ss = toupper.getStringItemDef("TA_SERVICENAME", 0, "STRING");System.out.println(ss);ss = toupper.getStringItemDef("TA_SERVICENAME", 1, "STRING");System.out.println(ss);ss = toupper.getStringItemDef("TA_SERVICENAME", 2, "STRING");System.out.println(ss);String ss1 = toupper.getStringItemDef("TA_SERVERNAME", 1, "STRING");String ss2 = toupper.getStringItemDef("TA_SERVERNAME", 2, "STRING");String ss3 = toupper.getStringItemDef("TA_SERVERNAME", 3, "STRING");*/// String ss = toupper.getStringDef("TA_SERVERNAME", "");//System.out.println( "输出结果是:" + ss + ss1+ ss2 + ss3);}catch (Exception ex) {throw new Exception(ex.getMessage() + "调用平台服务出错");}toupper.clear();session.endSession();sattr.clear();toupper = null;session = null;sattr = null;return strResult;}}3、配置文件在通过jolt用java调用tuxedo服务的时候需要一个配置文件,simpapp.rep 文件,文件里定义了java访问的service名称以与传入参数和传出参数。

Java通过Jolt调用Tuxedo服务

Java通过Jolt调用Tuxedo服务

Java通过Jolt调用Tuxedo服务一、简介------------------------外部应用访问Tuxedo服务是很经常的事,一般有两种方法WTC和Jolt,网上很多关于Jolt调用Tuxedo服务文章,描述的太多笼统,其实通过Jolt并不是很复杂的事情,这里使用Eclipse3.1+Jolt+WebLogic8.1+Tuxedo9.0环境描述调用服务的全过程。

Jolt是Bea Tuxedo自带的jar组件,在Tuxedo9.0的安装过程中可以看到安装的Jolt组件。

调用服务理论步骤是这样的:1.先准备Tuxedo服务端代码2.在Tuxedo中配置Jolt相关文件3.启动Tuxedo服务4.配置WebLogic服务与Tuxedo Jolt相关的参数5.配置Eclipse3.1启动WebLogic服务6.编写Eclipse Servlet代码,运行调用服务。

本例使用了《Windows Tuxedo的安装配置-数据库补充》一文中的Tuxedo数据服务文件,所以在启动Tuxedo服务前,必须先启动数据库实例,因为在tpsvinit()里面就配置了数据连接。

关于Tuxedo配置要点需参阅《Tuxedo的安装配置-...》的四篇文章。

------------------------二、Tuxedo服务文件全代码------------------------这里把server.pc服务文件代码再次列出。

其中包括三个服务DBREAD(读数据库)和TOUPPER(转换大写)。

本例不使用TOUPPER,所以不用理会那段代码。

其中[email=liwei/liwei@windb]liwei/liwei@windb[/email]连接的表tuxedo_test,结构如下:CREATE TABLE TUXEDO_TEST(ID NUMBER(2),NAME VARCHAR2(10))ID NAME------------------------1 aaaaaaa2 bbbbbbb#include <stdio.h>#include <ctype.h>#include <atmi.h> /* TUXEDO Header File */#include <userlog.h> /* TUXEDO Header File */EXEC SQL BEGIN DECLARE SECTION;VARCHAR ora_no[2];int ora_id;VARCHAR ora_value[10];VARCHAR ora_cn[30];EXEC SQL END DECLARE SECTION;EXEC SQL INCLUDE sqlca;tpsvrinit(){strcpy(ora_cn.arr,"[email=liwei/liwei@windb]liwei/liwei@windb[/emai l]");ora_cn.len = strlen(ora_cn.arr);ora_cn.arr[ora_cn.len]='\0';//EXEC SQL WHENEVER SQLERROR GOTO cnError;EXEC SQL CONNECT :ora_cn;return(0);}tpsrvdone(){EXEC SQL COMMIT WORK RELEASE;}DBREAD(TPSVCINFO *rqst){strcpy(ora_no.arr,(char *)rqst->data);ora_no.len=strlen(ora_no.arr);ora_no.arr[ora_no.len]='\0';userlog("ERRSRV: %s",ora_no.arr);EXEC SQL select name into :ora_value from tuxedo_test where id=:ora_no; if(sqlca.sqlcode!=0){userlog("ERRSRV: select name from tuxedo_test where id=, sqlcode=%ld , sqlerr=\n",sqlca.sqlcode);strcpy(rqst->data,sqlca.sqlerrm.sqlerrmc);tpreturn(TPFAIL, 0, rqst->data, 0L, 0);}/* Return the transformed buffer to the requestor. */strset(rqst->data,"");strcpy(rqst->data,ora_value.arr);tpreturn(TPSUCCESS, 0, rqst->data, 0L, 0);}TOUPPER(TPSVCINFO *rqst){int i;for(i = 0; i < rqst->len-1; i++)rqst->data = toupper(rqst->data);/* Return the transformed buffer to the requestor. */tpreturn(TPSUCCESS, 0, rqst->data, 0L, 0);}------------------------三、编译服务------------------------编译命令的注意事项,以前Tuxedo系列文章都提过。

tuxedo与weblogic集群配置

tuxedo与weblogic集群配置

tuxedo与weblogic集群配置2009年04月14日星期二上午 08:35Tuxedo 和WebLogic Server的集群连接发表于08-04-10 00:00 | 阅读 1503 | 评分 (暂无)技术架构要求某业务系统需要将Tuxedo和WebLogic server进行集群连接,以提高系统的整体的运行稳定性和可靠性。

Tuxedo 和WebLogic Server(简称WLS)间的集群配置Tuxedo域概念的说明为了有效实现有其他系统的互连,TUXEDO提出了DOMAIN(域)的概念,将由多台服务器共同组成的应用系统按功能或结构划分为不同的域,每个域独立地完成域内的操作,域间操作由域网关完成,从而提高每个域和整个系统的运行效率。

TUXEDO的域特性把客户/服务器模型扩展到多个应用系统. 一个域既可以是一组TUXEDO的应用程序――若干相关的应用服务和配置环境的组合。

域同时也可能是一组运行在另一个非TUXEDO环境中的应用程序。

TUXEDO和WLS应用系统的互操作就是利用域的概念来实现的。

不同的 TUXEDO应用域中的服务程序可以互相访问对方的服务,并且当一个交易同时执行多个应用域中的服务(即对于分布式事务处理)时,能够确保交易的完整性。

同时,TUXEDO系统可以指定哪些服务是可供外部应用域访问的并可为这些服务设置访问控制表等安全认证手段,提高整个系统的安全性。

TUXEDO应用系统一个TUXEDO应用系统是由在一个TUXCONFIG文件中定义的资源及其客户端的总称,它只能有一个TUXCONFIG文件,一个TUXEDO应用系统能够通过域网关与别的TUXEDO应用系统或其他的应用中间件系统实现互操作。

主要概念说明:TUXEDO Domain :一个TUXEDO应用系统就是一个DOMAIN。

/DOMAIN:TUXEDO产品的组成部分,用于与其他系统实现互连的那部分称为/DOMAINDomain Gateway :一个用于处理DOMAIN之间请求/应答的进程Domain Gateway Group :一组用于处理DOMAIN之间通讯的进程总称,包括一个GWADM和一个DOMAIN GATEWAY(如:GWTDOMAINLocal Domain :一个TUXEDO应用系统中的SERVICE的一个子集,它们能够被其他的DOMAIN访问,一个Local Domain对应一个domain gateway group 。

一种Java调用+Tuxedo+服务的方法

一种Java调用+Tuxedo+服务的方法
l£b口4#ndB妪’r%ei"8“要{
k吼z驰ndl,艄.1eeieveb讲
int lRel:
段箍日皋:2007一Os—06 诈者篱务:箨干云(197争一),男,湖南赋凄^,高疆工程舞,鱼垂碍完方向:数捧礓i管理,奄燕信喜记。
万方数据
、≮.开发研究与设汁技术......
瘌始诧莲接 雄pin;《解NlT qNu£釉=-_l》
数求出长鹰后乘以2.辩初始化为如此多十空格。遮是因为vB中
的lenn醋教不能得到字符串的精确长度,它把一个中文字符的性
度÷}算戚l。交际上要占2个字节。如举耍得到藕确长度。可用VC
缩写一个A辍函数。尾VC翦s醴en0麟数蹿《。
4.3 Java调用
Java中调用cOM组件的语句如下:
imp蛀曲舶ja;e幽.种“vex.Act;卯xC州,p佣entt {掰p“#∞moae。b,eom,Ⅸ8芦虹电 pubIic class cBlmlx硝o{ pu㈨a stdng c削Tuxedoservice(s埘“g 8endD0c){ Ⅳ找到组件 AcnveXc。mponen£时=n删舭d睨Xcom印聃nf<”她xedo脚静 el豁s”舞 0哺c畦nlycom=”lf萨tobjecE0∥生成一个对象 Ⅳ调用组件的方法 Obied Tesuh=Di即Htch.caⅡ(矾yc。扎”vbCallnxedose州。和
嚣。声霹辩节所示:

Pdv砒e DecIare nl|lc杜∞vbCaⅡ1hedoServiceTOUp即r Lib”vc. tu艘do”AI-a8”vcC allTu黼dqsewjceToUp坤r@8”(ByVal inBⅢAs sl靠“舀B,v一咖lBug As St“ng》As Io玎g
声臻方法娄毂于捷瘸A秘最数。上避声臻语每串,∞糖船d8是 在VC环境中生成的DH.文件的名称,虚用时要与VB文件在同 ·一路径或拷m到系统路径中.如系统煮装目录的sy8te巾32目录;

Tuxedo中间件在铁通业务系统中的应用与实现

Tuxedo中间件在铁通业务系统中的应用与实现

Tuxedo中间件在铁通业务系统中的应用袁启元(中国铁通集团有限公司无锡分公司,江苏无锡214002)摘要: 介绍了交易中间件的概念, Tuxedo 中间件的特点; 分析铁通计费营业支撑系统的体系结构, 提出了利用Tuxedo整合其硬软资源的解决方案; 并给出了Tuxedo的服务器端和C/S 模式客户端和B/S 模式客户端的实现模板。

关键词: 中间件Tuxedo 铁通计费营业系统1、引言目前, 大型数据库应用系统大多采用以三层体系结构为基础的客户机/服务器应用模式。

而实现三层客户机/服务器应用模式的关键技术就是中间技术。

Tuxedo是世界最大的独立中间件厂商美国BEA 公司的一种事务处理(交易)中间件产品, 在电信、银行、交通、证券、投资、政府等部门的大规模事务处理领域中有着广泛的应用。

它为关键业务应用系统提供了一个开放式的最佳环境, 支持各种各样的客户、数据库、网络、遗留系统和通讯方式, 能够在三层客户机/服务器环境下整合各种异构平台, 通过联机事务处理, 保证交易的完整性和数据的一致性。

江苏铁通业务系统是一个典型的分布式异构系统, 以营业系统和计费系统为核心, 其他业务系统例如资源管理系统、代理商系统, 网上营业厅系统, 银行代收费互联系统等均以此为基础来展开。

以Tuxedo交易中间件为基础的三层客户/服务器应用模式来实现各个应用系统之间的互操作和信息共享; 从而达到如下的三个目的: 第一, 性能好、伸缩强、可靠性高、安全、可管理、开放性好; 第二, 支持Web; 第三, 融合现有应用, 保护原有投资。

本文接下来先对中间件和Tuxedo做比较详细的阐述; 在分析江苏铁通业务系统体系结构问题的基础上, 提出基于Tuxedo中间件的解决方案; 最后给出用Tuxedo中间件编程的模板。

2、Tuxedo中间件2.1中间件众多关于中间件的定义中, 比较普遍接受的是IDC 的表述: 中间件是一种独立的系统软件或服务程序, 分布式应用软件借助这种软件在不同的技术之间共享资源; 中间件位于客户机/服务器的操作系统之上, 管理计算资源和网络通信。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

草木瓜 2006-6-1------------------------一、简介------------------------外部应用访问Tuxedo服务是很经常的事,一般有两种方法WTC和Jolt,网上很多关于Jolt调用T 文章,描述的太多笼统,其实通过Jolt并不是很复杂的事情,这里使用Eclipse3.1+Jolt+Web +Tuxedo9.0环境描述调用服务的全过程。

Jolt是Bea Tuxedo自带的jar组件,在Tuxedo9.0的安装过程中可以看到安装的Jolt组件。

调用服务理论步骤是这样的:1.先准备Tuxedo服务端代码2.在Tuxedo中配置Jolt相关文件3.启动Tuxedo服务4.配置WebLogic服务与Tuxedo Jolt相关的参数5.配置Eclipse3.1启动WebLogic服务6.编写Eclipse Servlet代码,运行调用服务。

本例使用了《Windows Tuxedo的安装配置-数据库补充》一文中的Tuxedo数据服务文件,所以Tuxedo服务前,必须先启动数据库实例,因为在tpsvinit()里面就配置了数据连接。

关于Tux 要点需参阅《Tuxedo的安装配置-...》的四篇文章。

------------------------二、Tuxedo服务文件全代码------------------------这里把server.pc服务文件代码再次列出。

其中包括三个服务DBREAD(读数据库)和TOUPPER(本例不使用TOUPPER,所以不用理会那段代码。

其中liwei/liwei@windb连接的表tuxedo_test,结构如下:CREATE TABLE TUXEDO_TEST(ID NUMBER(2),NAME VARCHAR2(10))ID NAME------------------------1 aaaaaaa2 bbbbbbb#include <stdio></stdio>#include <ctype></ctype>#include <atmi></atmi> /* TUXEDO Header File */#include <userlog></userlog> /* TUXEDO Header File */EXEC SQL BEGIN DECLARE SECTION;VARCHAR ora_no[2];int ora_id;VARCHAR ora_value[10];VARCHAR ora_cn[30];EXEC SQL END DECLARE SECTION;EXEC SQL INCLUDE sqlca;tpsvrinit(){strcpy(ora_cn.arr,"liwei/liwei@windb");ora_cn.len = strlen(ora_cn.arr);ora_cn.arr[ora_cn.len]='\0';//EXEC SQL WHENEVER SQLERROR GOTO cnError;EXEC SQL CONNECT :ora_cn;return(0);}tpsrvdone(){EXEC SQL COMMIT WORK RELEASE;}DBREAD(TPSVCINFO *rqst){strcpy(ora_no.arr,(char *)rqst->data);ora_no.len=strlen(ora_no.arr);ora_no.arr[ora_no.len]='\0';userlog("ERRSRV: %s",ora_no.arr);EXEC SQL select name into :ora_value from tuxedo_test where id=:ora_no;if(sqlca.sqlcode!=0){userlog("ERRSRV: select name from tuxedo_test where id=, sqlcode=%ld , sqlerr=\ strcpy(rqst->data,sqlca.sqlerrm.sqlerrmc);tpreturn(TPFAIL, 0, rqst->data, 0L, 0);}/* Return the transformed buffer to the requestor. */strset(rqst->data,"");strcpy(rqst->data,ora_value.arr);tpreturn(TPSUCCESS, 0, rqst->data, 0L, 0);}TOUPPER(TPSVCINFO *rqst){int i;for(i = 0; i < rqst->len-1; i++)rqst->data[i] = toupper(rqst->data[i]);/* Return the transformed buffer to the requestor. */tpreturn(TPSUCCESS, 0, rqst->data, 0L, 0);}------------------------三、编译服务------------------------编译命令的注意事项,以前Tuxedo系列文章都提过。

proc server.pc include=%TUXDIR%\includebuildserver -o server -f server.c -s DBREAD -s TOUPPER -v -l orasql9.lib ------------------------四、配置Tuxedo服务的config文件------------------------完全文件如下:#Liwei*RESOURCESIPCKEY 123456DOMAINID liweiappMASTER lwMAXACCESSERS 150MAXSERVERS 100MAXSERVICES 100MODEL SHMLDBAL N*MACHINESLWYMLMID = lwTUXDIR = "E:\bea\tuxedo9.0"TUXCONFIG = "G:\Liwei\Tuxedo\dbread\tuxconfig"APPDIR = "G:\Liwei\Tuxedo\dbread"MAXWSCLIENTS=1TLOGDEVICE = "G:\Liwei\Tuxedo\dbread\TLOG"TLOGNAME=TLOGTLOGSIZE = 100*GROUPSAPPGRP LMID=lw GRPNO = 1#OPENINFO="Oracle_XA:Oracle_XA+Acc=P/liwei/liwei+SqlNet=linux+SesTm=600+MaxCur=5+ #TMSNAME="TMS_ORA9i" TMSCOUNT=2JSLGRP LMID=lw GRPNO = 2JREPGRP LMID=lw GRPNO = 3*SERVERSserver SRVGRP=APPGRP SRVID=1#WSL SRVGRP=APPGRP SRVID =300#CLOPT="-A -- -n //192.168.0.166:8888 -d/dev/tcp -m1 -M5 -x 10"JSL SRVGRP=JSLGRP SRVID=301CLOPT="-A -- -n //192.168.0.166:9878 -M 10 -x 10 -m 2"JREPSVR SRVGRP=JREPGRP SRVID=302CLOPT="-A -- -W -P E:\bea\tuxedo9.0\udataobj\jolt\repository\jrepository"*SERVICESDBREADTOUPPER细心一看,这个config文件比在*GROUPS和*SERVERS各加了两项对应内容:JSLGRP LMID=lw GRPNO = 2JREPGRP LMID=lw GRPNO = 3和JSL SRVGRP=JSLGRP SRVID=301CLOPT="-A -- -n //192.168.0.166:9878 -M 10 -x 10 -m 2"JREPSVR SRVGRP=JREPGRP SRVID=302CLOPT="-A -- -W -P E:\bea\tuxedo9.0\udataobj\jolt\repository\jrepository"这两项是用于jolt的访问接口。

JSL和JREPSVR必须是独自的GROUP,由于外部调用通过JSL和J Tuxedo服务通信,WSL就没用了。

JSL的主机地址是Tuxedo服务器地址,端口是随意指定的,不即可,一般设置的大一点。

在config里面加入这此内容后,config文件就Ok了。

------------------------五、配置jrepository文件------------------------直接打开E:\bea\tuxedo9.0\udataobj\jolt\repository\jrepository文件添加以下内add SVC/DBREAD:vs=1:ex=1:bt=STRING:\bp:pn=STRING:pt=string:pf=167772161:pa=rw:ep:add PKG/SIMPSERV:DBREAD:这个文件如果没有DBREAD配置,调用会提示DBREAD not avaliable,DBREAD配置错误,会提示been modifed ...对这个文件操作还有以下两种方式:方式一:在IE打开E:\bea\tuxedo9.0\udataobj\jolt\RE.html,是个java applet,里面是图 完服务,设置好参数即可。

具体方法可以查阅网上资料,有图文解说的。

方式二:在命令行键入Java bea.jolt.admin.jbld //192.168.0.166:9878 services.rep,其JSL的设置一致。

services.rep是随意的一个文件,不过文件内容绝对不随意,如下:service=DBREADinbuf=STRINGoutbuf=STRINGexport=trueparam=STRINGtype=stringaccess=inout要执行这个命令设置jdk环境变量是必不可少的,PATH,CLASSPATH。

相关文档
最新文档