[转帖]Tuxedo Domains通讯_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4330 | 回复: 0   主题: [转帖]Tuxedo Domains通讯        下一篇 
oraclexie
注册用户
等级:新兵
经验:36
发帖:67
精华:0
注册:2011-8-21
状态:离线
发送短消息息给oraclexie 加好友    发送短消息息给oraclexie 发消息
发表于: IP:您无权察看 2014-10-21 11:41:58 | [全部帖] [楼主帖] 楼主

使用tuxedo组件/DOMAINS时,需要对管理配置作一些改变。在以下例子中,会创建一个独立的测试应用环境(DOMAINID是TEST),它可以读取/请求另一个应用的交易(ProdCust)的数据。
    服务GWTDOMAIN(GWT)负责响应域间通讯。GWADM和DMADM是处理管理交易和域服务的管理服务。这些服务必须配置在UBBCONFIG文件中。配置信息必须在远程和本地应用环境中定义。
    服务GWTDOMAIN通过TCP/IP协议与其他域进行通讯。物理上远程的域的应用位置是透明的。
    服务GWTDOMAIN是双向的:可以处理远程域发来的请求也可以向远程域发出请求。
    除UBBCONFIG外,配置/DOMAINS还需要一些信息。这些信息在DMCONFIG文件中。DMCONFIG的文本文件通过BDMCONFIG编译成二进制文件。

过程
第一步:UBBCONFIG应作相应改动
            为/DOMAIN建立的新组应该和其他应用组隔离开。其一用于管理,其他是网关服务。

 UBBCONFIG
*RESOURCES
IPCKEY                                 49152
MAXACCESSERS                   2
MAXSERVERS                       25
MASTER                               SITE1
MODEL                                 SHM
*MACHINES
class2                                    LMID=SITE1
TUXDIR=”/usr/tuxedo”
APPDIR=”/usr/apps/atmapp”
TUXCONFIG=”/usr/apps/atmapp/atmapp.tux”
*GROUPS
LDMGRP                              LMID=SITE1  GRPNO=20
LGWGRP                              LMID=SITE1  GRPNO=30
#下一行用于‘prod’域
APP1                                     LMID=SITE1 GRPNO=10
*SERVERS
DMADM                               SRVGRP=LDMGRP            SRVID=200
GWADM                               SRVGRP=LGWGRP            SRVID=310
GWTDOMAIN                       SRVGRP=LGWGRP            SRVID=320
#下一行用于‘prod’域
CUSTOMER      CLOPT=”-A”  SRVGRP=APP1(对应上面的group)   SRVID=100
*SERVICES
#下一行用于‘prod’域
ProdCust


第二步:为域间请求创建DMCONFIG
            下文的ASCII数据存在的文件一般称为DMCONFIG,由此生成的二进制格式文件称为BDMCONFIG。以下的DMCONFIG存在于“TEST“域,用来请求远程的”prod“域的”ProdCust“交易。

 DMCONFIG on TEST DOMAIN
*DM_LOCAL_DOMAINS
test                                  GWGRP=LGWGRP
TYPE=TDOMAIN
DOMAINID=”TEST”
DMTLOGDEV=”/usr/apps/atmapp/logs/DLOG”
*DM_REMOTE_DOMAINS
production                  TYPE=TDOMAIN
DOMAINID=”prod”
*DM_TDOMAIN
prod                            NWADDR=”//lcspn1:3070”
NWDEVICE=”/dev/xti/tcp”
TEST                            NWADDR=”//lcspn2:3070”
NWDEVICE=”/dev/xti/tcp”
*DM_REMOTE_SERVICES
ProdCust
*DM_LOCAL_SERVICES


第三步:创建DMCONFIG指定对域外提供的交易
下文的DMCONFIG位于域’prod’,该域将向其他域提供可调用交易:ProdCust。
域‘prod’上的DMCONFIG

 #本地域信息
*DM_LOCAL_DOMAINS
#LMID
production                  GWGRP=LGWGRP
#域描述:TDOMAIN即TUXEDO DOMAINS
TYPE=TDOMAIN
#域的唯一标识符
DOMAINID=”prod”
#交易的日志
DMTLOGDEV=”/usr/apps/atmapp/logs/DLOG”
#远程域信息
*DM_REMOTE_DOMAINS
test                             TYPE=TDOMAIN
DOMAINID=”TEST”
*DM_TDOMAIN
#地址和设备名
prod                            NWADDR=”//lcspn1:3070”
NWDEVICE=”/dev/xti/tcp”
TEST                            NWADDR=”//lcspn2:3070”
NWDEVICE=”/dev/xti/tcp”
*DM_REMOTE_SERVICES
*DM_LOCAL_SERVICES
#远程域可以使用的交易
ProdCust


第四步:设定环境变量
/DOMAIN进程需要额外的环境变量去访问/DOMAINS配置信息

 export BDMCONFIG=/usr/apps/atmapp/atmapp.bdm


第五步:编译ubbconfig
本过程是从两个域中相同的UBBCONFIG生成二进制文件TUXCONFIG。在本例中,UBBCONFIG的信息位于’ubbconfig’。

 tmloadcf –y ubbconfig


第六步:编译dmconfig
本过程是创建二进制DOMAINS配置文件,BDMCONFIG,在两个域中相同;而两者都有的文件‘dmconfig’内容是不同的。

 dmloadcf –y dmconfig


请教通过WTC方式Tuxedo单域(SHM)模式连接WebLogic 单域 Multi Server(可不集群)配置方面的问题.
Tuxedo单域(SHM)模式到WebLogic alone Server的WTC连接已经做好.但WebLogic Multi Server的模式的连接总感觉配置上有问题,可水品有限,没照出来,请LZ帮忙检查一下.
WebLogic  cluster_domain 2个被管Server,部署2个应用:一个是普通的Web应用,用于调用跑在Tuxedo端的toUpper服务,一个是EJB应用,用于提供toLower服务,供Tuxedo端的客户端调用.
WebLogic Server端(192.168.1.21) Config.xml(有删减):

 <Domain ConfigurationVersion="8.1.6.0" Name="cluster_domain">
<Cluster ClusterAddress="192.168.1.21:7003,192.168.1.218:7005"
MulticastAddress="237.0.0.1" MulticastPort="7777" Name="new_Cluster"/>
<Server ListenAddress="192.168.1.21" ListenPort="7001" Machine=""
Name="AdminServer" NativeIOEnabled="true"
ReliableDeliveryPolicy="RMDefaultPolicy" ServerVersion="8.1.6.0">
<SSL IdentityAndTrustLocations="KeyStores" Name="AdminServer"/>
</Server>
<Server Cluster="new_Cluster" ListenAddress="192.168.1.21"
ListenPort="7003" Machine="" Name="mServer1"
NativeIOEnabled="true" ServerVersion="8.1.6.0">
<ExecuteQueue Name="weblogic.kernel.Default"/>
<SSL IdentityAndTrustLocations="KeyStores" Name="mServer1"/>
</Server>
<Server Cluster="new_Cluster" ListenAddress="192.168.1.218"
ListenPort="7005" Machine="" Name="mServer2"
NativeIOEnabled="true" ServerVersion="8.1.6.0">
<ExecuteQueue Name="weblogic.kernel.Default"/>
<SSL IdentityAndTrustLocations="KeyStores" Name="mServer2"/>
</Server>
.....
<Application Name="toLowerEJB"
Path="D:\Install\WLS8.1\bea\user_projects\domains\cluster_domain\toLowerEJB"
StagedTargets="mServer2,mServer1" StagingMode="stage" TwoPhase="true">
<EJBComponent Name="toLowerEJB" Targets="mServer1,mServer2" URI="toLowerEJB.jar"/>
</Application>
<Application Name="wtc_wls_app"
Path="D:\Install\WLS8.1\bea\user_projects\domains\cluster_domain"
StagedTargets="mServer2,mServer1" StagingMode="stage" TwoPhase="true">
<WebAppComponent Name="wtc_wls_app" Targets="mServer1,mServer2" URI="wtc_wls_app"/>
</Application>
<WTCServer Name="WTC-mServer1" Targets="mServer1">
<WTCLocalTuxDom AccessPoint="WDOM1" AccessPointId="WDOM1"
ConnectionPolicy="ON_STARTUP" NWAddr="//192.168.1.21:5566" Name="WTCLocalTuxDom-1247753308453"/>
<WTCRemoteTuxDom AccessPoint="TDOM1" AccessPointId="TDOM1"
ConnectionPolicy="ON_STARTUP" LocalAccessPoint="WDOM1"
NWAddr="//192.168.1.218:1234" Name="WTCRemoteTuxDom-1247753358953"/>
<WTCExport EJBName="TOLOWER" LocalAccessPoint="WDOM1"
Name="WTCExport-1247753409406" RemoteName="WTCExport" ResourceName="TOLOWER"/>
<WTCImport LocalAccessPoint="WDOM1"
Name="WTCImport-1247753456250" RemoteAccessPointList="TDOM1"
RemoteName="WTCImport" ResourceName="TOUPPER"/>
</WTCServer>
<WTCServer Name="WTC-mServer2" Targets="mServer2">
<WTCLocalTuxDom AccessPoint="WDOM2" AccessPointId="WDOM2"
ConnectionPolicy="ON_STARTUP" NWAddr="//192.168.1.218:7788" Name="WTCLocalTuxDom-1247753507031"/>
<WTCRemoteTuxDom AccessPoint="TDOM1" AccessPointId="TDOM1"
ConnectionPolicy="ON_STARTUP" LocalAccessPoint="WDOM2"
NWAddr="//192.168.1.218:1234" Name="WTCRemoteTuxDom-1247753556594"/>
<WTCExport EJBName="TOLOWER" LocalAccessPoint="WDOM2"
Name="WTCExport-1247753597359" RemoteName="WTCExport" ResourceName="TOLOWER"/>
<WTCImport LocalAccessPoint="WDOM2"
Name="WTCImport-1247753652141" RemoteAccessPointList="TDOM1"
RemoteName="WTCImport" ResourceName="TOUPPER"/>
</WTCServer>
</Domain>


Tuxedo端(192.168.1.218)部署一个toUpper的C应用,还有一个调用Multi WebLogic Server提供的toLower服务.
ubbconfig配置文件:

 #        (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
IPCKEY                123456
DOMAINID        simpapp
MASTER                simple
MAXACCESSERS        20
MAXSERVERS        10
MAXSERVICES        20
MODEL                SHM
LDBAL                N
*MACHINES
DEFAULT:
"TDY218"        LMID=simple
APPDIR="E:\wtc\simapp"
TUXCONFIG="E:\wtc\simapp\tuxconfig"
TUXDIR="E:\tux8.1\tuxedo8.1"
*GROUPS
GROUP1
LMID=simple        GRPNO=1        OPENINFO=NONE
GROUP2
LMID=simple GRPNO=2  OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv          SRVGRP=GROUP1  SRVID=1
DMADM       SRVGRP=GROUP2  SRVID=2
GWADM       SRVGRP=GROUP2  SRVID=3
GWTDOMAIN   SRVGRP=GROUP2 SRVID=4
*SERVICES
TOUPPER


domconfig配置文件:

 *DM_RESOURCES
VERSION=U22
*DM_LOCAL_DOMAINS
TDOM1
GWGRP=GROUP2
TYPE=TDOMAIN
DOMAINID="TDOM1"
BLOCKTIME=20
MAXDATALEN=56
MAXRDOM=89
DMTLOGDEV="E:\wtc\simapp\TLOG"
AUDITLOG="E:\wtc\simapp\AUDITLOG"
DMTLOGNAME="DMTLOG_TUXDOM"
*DM_REMOTE_DOMAINS
WDOM1
TYPE=TDOMAIN
DOMAINID="WDOM1"
WDOM2
TYPE=TDOMAIN
DOMAINID="WDOM2"
*DM_TDOMAIN
TDOM1     NWADDR="//192.168.1.218:1234"
WDOM1    NWADDR="//192.168.1.21:5566"
WDOM2    NWADDR="//192.168.1.218:7788"
*DM_IMPORT
TOLOWER  LDOM=TDOM1  RDOM=WDOM1,WDOM2  LOAD=50
TOLOWER  LDOM=TDOM1  RDOM=WDOM2,WDOM1  LOAD=50


现在通过部署在WebLogic Server上的一个应用访问Tuxedo上TOUPPER服务,返回值为null.
在Tuxedo(192.168.1.218)端,通过toLOWER客户端访问跑在WebLogic Server上的toLOWER EJB服务,返回这样的错误:

 E:\wtc\simapp>toLowerClient TDY218
Can't send request to service TOLOWER
Tperrno = 10


请LZ帮忙检查一下配置文件.

现在通过部署在WebLogic Server上的一个应用访问Tuxedo上TOUPPER服务,返回值为null.
在Tuxedo(192.168.1.218)端,通过toLOWER客户端访问跑在WebLogic Server上的toLOWER EJB服务,返回这样的错误:

 E:\wtc\simapp>toLowerClient TDY218
Can't send request to service TOLOWER
Tperrno = 10
^^^^^^^^^^^^^^^^^


从配置看,没发现什么问题,你的配置是在WebLogic部分配置了两个网关,接入一个Tuxedo网关,在Tuxedo部分做两个网关的负载均发请求。
首先检查WebLogic和Tuxedo是否已经进行了Domain连接。
你提到的两个问题,
1.WebLogic-》Tuxedo时候,返回null。需要确认,是否调用到Tuxedo部分的TOUPPER服务,然后WebLogic这部分是否对对结果进行了合理处理。
2.Tuxedo->WebLogic,返回10 ,TPSVCERROR,一般指调用到了EJB,但EJB出现了执行错误,导致tpcall执行失败。检查ejb的日志。

10   TPESVCERR   --- server error while handing request


又看了下(WebLogic)mServer1的日志,stdout和Server Log中均未发现问题,我又将mServer1的日志记录级别调整到Info级别,仍旧没发现,部署的应用应该没问题,因为我之前做的Tuxedo单域(SHM)模式到WebLogic alone Server的WTC连接都没问题.而且应用中也没有与IP及WTC访问点相关的代码.这里我将mServer1的Access日志和Tuxedo端ULOG日志贴出来:

 Access Log:
192.168.1.21 - - [13/Aug/2009:18:39:31 +0800] "GET /toupper?letter=sdadad HTTP/1.1" 200 17
ULOG:
183931.TDY218!GWTDOMAIN.1112.1916.0: LIBGW_CAT:1029: ERROR: Service request not forwarded to remote site:"TPENOENT - no entry found" gwerrno(402017)


由于这个调用时间很短,所以使用pclt看不太方便,于是就在调用TOUPPER服务前,tmadmin->psr了一下,调用后又psr了一下:
之前:

 > psr
Prog Name      Queue Name  Grp Name      ID RqDone Load Done Current Service
---------      ----------  --------      -- ------ --------- ---------------
BBL.exe        123456      simple         0      1        50 (  IDLE )
simpserv.exe   00001.00001 GROUP1         1      0         0 (  IDLE )
DMADM.exe      00002.00002 GROUP2         2      6       300 (  IDLE )
GWADM.exe      00002.00003 GROUP2         3      0         0 (  IDLE )
GWTDOMAIN.exe  00002.00004 GROUP2         4      0         0 (  IDLE )


之后:

 > psr
Prog Name      Queue Name  Grp Name      ID RqDone Load Done Current Service
---------      ----------  --------      -- ------ --------- ---------------
BBL.exe        123456      simple         0      3       150 (  IDLE )
simpserv.exe   00001.00001 GROUP1         1      0         0 (  IDLE )
DMADM.exe      00002.00002 GROUP2         2      6       300 (  IDLE )
GWADM.exe      00002.00003 GROUP2         3      0         0 (  IDLE )
GWTDOMAIN.exe  00002.00004 GROUP2         4      0         0 (  IDLE )
> q


通过查看RqDone,感觉toUpper服务未被调用.
在Tuxedo端调用toLower服务时ULOG中未发现相同时间的日志信息.

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论