通过wtc使tuxedo与weblogic通信开发 联系客服

发布时间 : 星期二 文章通过wtc使tuxedo与weblogic通信开发更新完毕开始阅读

fml32_test fml32_test wtc_jolt GROUP 1100 simple 0 AVAIL

进行到这里tuxedo方面所有的工作已经完成,下面进入weblogic方面的工作.

3)Weblogic方面需要进行的工作.

创建tuxedo fml(32) 数据缓冲区定义文件对应的java类文件

本文例子用到tuxedo fml32数据缓冲区,所以首先要创建该fml32数据缓冲区定义文件对应的java描述文件的类文件,将前面定义的文件student_fld.

1) 执行weblogic环境变量setWLSEnv.sh,使weblogic环境变量生效.

2) 运行: java weblogic.wtc.jatmi.mkfldclass32 student_fld生成student_fld.java描述文件.

3) 运行: javac ?d student_fld.java生成student_fld.class文件.

4) 该类文件的存放路径一定可以被weblogic识别,即保存在weblogic启动后CLASSPATH的路径中,否则在后面配置wtc resource时会失败.

配置weblogic wtc service

进入weblgoic console,mydomain->services->wtc->Configure a new WTC service…

Name属性键入: WTC_Service,create保存设置,此时WTC_Service将生成local tuxedo access等若干子项,在下面将一步一步配置这些项目.

配置local tuxedo access

mydomain->services->wtc-> WTC_Service-> Configure a new local tuxedo access point…

依次填写Access Point: Local_Wls_Domain

Access Point ID: weblogic

Network Address: //weblogicserver_ip:port

注意:

1) Access Point ID的值应该与在tuxedo dm文件中*DM_REMOTE_DOMAINS节中指定的domainid相同.

2) Network Address中指定的通信端口一定是weblogic server上未被占用的端口.

以上信息填写完成后点击create保存.

配置remote tuxedo domain

mydomain->services->wtc-> WTC_Service-> Configure a new remote tuxedo access point…

依次填写Access Point: Remote_Tuxedo_Domain

Access Point ID: billing

Local Access Point: Local_Wls_Domain

Network Address: //tuxedoserver_ip:port

注意:

1) Access Point ID的值是远程tuxedo domain 的domain_id.

2) Local Access Point的值是上面配置的local tuxedo access point的名字.

以上信息填写完成后点击create保存.

导入tuxedo services

mydomain->services->wtc-> WTC_Service->Imported services->

Configure a new imported service…

Resource Name: fml32_test

Local Access Point: Local_Wls_Domain

Remote Access Point List: Remote_Tuxedo_Domain

Remote Name: fml32_test

注意:

1) Local Access Point是上面配置的local tuxedo access point的名字.

2) Remote Access Point List是上面配置的remote tuxedo access point的名字.

3) Remote Name是可供weblogic调用的远程tuxedo发布的service名字,即在

Tuxedo dm文件的*DM_LOCAL_SERVICES节点中发布的service名字.

配置wtc resource

mydomain->services->wtc-> WTC_Service->resources->

Configure a new Resource….

FldTbl32 classes: student_fld

注意:

1)resource定义fml(32),view(32)等数据缓冲区的类文件定义,其中student_fld就是上面编译得到的类,如果源文件包含在包中那么要标明包名称在内的全路径,如:

com.bea.wtc.test.classname

2)其中fml和fml32类型的java类在这里要分别指定,不能通用,view(32)也是一样.

以上信息填写完成后点击create保存,至此wtc service全部配置完成,单击wtc_service的Target and deploy标签,选择server,apply以上应用.

编写通过wls访问tuxedo service的程序

为了减少篇幅例子代码没有全部罗列,只选择粘贴了代码中的关键部分.

编写访问tuxedo service的ejb

关键函数介绍

创建本地接口文件,远程接口文件以及bean文件,公布以下远程方法:

1)public CallDescriptor Tpacall(String service, TypedFML32 in_params)

throws TPException, TPReplyException, RemoteException;

2)public TypedFML32 Tpgetrply(CallDescriptor cd)

throws TPException, TPReplyException, RemoteException;

3)public TypedFML32 Tpcall(String service_name, TypedFML32 in_params)

throws TPException, TPReplyException, RemoteException;

Tpcall : 同步调用tuxedo service.

Tpacall : 异步调用tuxedo service.

Tpgetrply: 等待异步调用service的返回结果.

关键函数代码

import weblogic.wtc.jatmi.Reply;

import weblogic.wtc.jatmi.TypedFML32;

import weblogic.wtc.jatmi.TPException;

import weblogic.wtc.jatmi.TPReplyException;