[转帖]Weblogic和tuxedo通过WTC通信示例_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4047 | 回复: 0   主题: [转帖]Weblogic和tuxedo通过WTC通信示例        下一篇 
masy
注册用户
等级:少校
经验:1234
发帖:182
精华:0
注册:2011-11-4
状态:离线
发送短消息息给masy 加好友    发送短消息息给masy 发消息
发表于: IP:您无权察看 2011-11-14 15:50:56 | [全部帖] [楼主帖] 楼主

    测试环境:

weblogic:要6.1sp2以上,这儿使用的是weblogic   server   7。0。 
  tuxedo:tuxedo7.0以上,此处用的是tuxedo8。0。 
  硬件: 
  tuxedo服务器:sun6500,soloaries操作系统。 
  Weblogic服务器:浪潮英信服务器300PR。CPU:2颗,主频:1g。内存:524m. 
  测试过程: 
      装好weblogic   server7.0后,在E:\bea\weblogic700\samples\server\src\examples\wtc下,有关于wtc测试的源程序。 
      本次研究选择了两个例子作为测试: 
  1、 simpapp:功能是weblogic通过wtc调用tuxedo中的TOUPPER服务。 
  配置方面: 
  A:tuxedo配置: 
  Ubbconfig文件: 

 *RESOURCES
IPCKEY 234539
DOMAINID dmhnwgap
MASTER hnwgtest
MAXACCESSERS 600
MAXSERVERS 150
MAXSERVICES 6000
MODEL SHM
BLOCKTIME 24
LDBAL Y
NOTIFY SIGNAL
*MACHINES
DEFAULT:
APPDIR="/u1/tmn/testbin"
TUXCONFIG="/u1/tmn/testbin/tuxconfig"
TUXDIR="/u1/tuxedo/tuxedo8.0"
TLOGDEVICE   ="/u1/tmn/testbin/TLOG"
TLOGNAME=TLOG
hndb LMID=hnwgtest
MAXWSCLIENTS=60
MAXCONV=20
*GROUPS
GROUP1
LMID=hnwgtest GRPNO=1 OPENINFO=NONE
GROUP2
LMID   =   hnwgtest     GRPNO   =   2   OPENINFO=NONE
TMSNAME=TMS   TMSCOUNT=2
QUE1
LMID   =   hnwgtest     GRPNO   =   3
TMSNAME   =   TMS_QM   TMSCOUNT   =2
OPENINFO   =   "TUXEDO/QM:/u1/tmn/testbin/QUESPACE"
LDMGRP   GRPNO=6   LMID=hnwgtest
LGWGRP   GRPNO=7   LMID=hnwgtest
*SERVERS
DEFAULT:
CLOPT="-A"
almgr     SRVGRP=GROUP1   SRVID=1   GRACE=0   RESTART=Y   CONV=N   MAXGEN=10
alarm_rec SRVGRP=GROUP2   SRVID=9   GRACE=0   RESTART=Y   CONV=N   MAXGEN=10
TMQUEUE
SRVGRP=QUE1     SRVID=1   GRACE=0     RESTART=Y   CONV=N   MAXGEN=10
CLOPT="-s   QSPACE:TMQUEUE   --     "
DMADM   SRVGRP=LDMGRP   SRVID=1   GRACE=0   RESTART=Y   CONV=N   MAXGEN=10
GWADM   SRVGRP=LGWGRP   SRVID=1   GRACE=0   RESTART=Y   CONV=N   MAXGEN=10
GWTDOMAIN   SRVGRP=LGWGRP   SRVID=2   GRACE=0   RESTART=Y   CONV=N   MAXGEN=10
WSL     SRVGRP=GROUP1     SRVID=100
CLOPT="-A   --   -n   //hndb:9005   -d   /dev/tcp   -m1   -M10   -x5"
TMQFORWARD
SRVGRP=QUE1 SRVID=   16   GRACE=0   RESTART=Y   CONV=N   MAXGEN=10
CLOPT="--   -i   0   -n   -q   ALREC"
*SERVICES
TOUPPER


  Dmconfig文件: 

 *DM_RESOURCES       #域资源 
VERSION=U22
*DM_LOCAL_DOMAINS
TDOM1 GWGRP=LGWGRP         #   equal   GWTDOMAIN   's   GROUP   name
TYPE=TDOMAIN         #   for   connecting   between   TUXEDOs   system
DOMAINID="TDOM1"   #   equal   ubbsimple's   DOMAINID
BLOCKTIME=20
DMTLOGDEV="/u1/tmn/testbin/DMTLOG"     #   for   global   transaction   mode
CONNECTION_POLICY=ON_STARTUP       #   for   long   connection
RETRY_INTERVAL=10
MAXRETRY=MAXLONG
*DM_REMOTE_DOMAINS
TDOM2         TYPE=TDOMAIN   DOMAINID="TDOM2" #weblogic   ip:port   for   fxy   machine
TDOM3         TYPE=TDOMAIN   DOMAINID="TDOM3" #weblogic   ip:port   for   liwh   machine
*DM_TDOMAIN
TDOM1             NWADDR="//10.154.32.1:7802"       #   local   ip:   port   for   mapinfo   machine
TDOM2           NWADDR="//10.154.32.35:9999"       #   local   ip:   port   for   appserver   mahcine
TDOM3           NWADDR="//10.154.32.12:9998"       #   local   ip:   port   for   appserver   mahcine
*DM_LOCAL_SERVICES
TOUPPER #一定要将weblogic引用的资源再次声明,如服务、队列等信息 
QSPACE
*DM_REMOTE_SERVICES
TOLOWER   RDOM="TDOM2"   #weblogic提供的ejb服务,供tuxedo本地调用 


  将tuxedo的这两个文件配置好后,进行如下操作: 
  1、 tmloadcf   –y   ubbconfig     #装载tuxedo的bbl管理配置文件 
  2、 dmloadcf   –y   dmconfig     #装载本地tuxedo服务器的域配置文件 
  3、 tboot   –y   
        注:tuxedo的常用管理命令 
  tmunloadcf   >liwh   将当前ubbconfig文件导入liwh文件 
  dmunloadcf>liwh   将当前dmconfig文件导入liwh文件 
  tmadmin:起动管理平台 
  >psr   察看当前服务组 
  >psc   –g   –I   察看指定服务 

 >tmshutdown   –y


  qmadmin:消息队列管理命令 

 >qopen   QSPACE


  >qinfo:察看所打开空间的信息。 
  >qspacecreate:创建空间 
  >qcreate:创建队列 
  dmadmin:域管理命令 

 >pd   –d   TDOM1   #察看和TDOM1相联接的域 
>quit


  上述为tuxedo方面的配置。 
  Weblogic方面的配置: 
  使用javac或ant命令编译simpapp/下面的程序,打包成simpapp.jar文件。 
  进入weblogic管理平台,展开ejb管理,部署simpapp.jar成功。 
  建立weblogic   tuxedo   connector的server. 
  配置信息如下: 

 <WTCServer   Name="MyWTCServer"   Targets="liwhserver">
<WTCImport   LocalAccessPoint="TDOM3"
Name="WTCImport-1055574899843"   RemoteAccessPointList="TDOM1"
RemoteName="TOUPPER"   ResourceName="TOUPPER"/>
<WTCLocalTuxDom   AccessPoint="TDOM3"   AccessPointId="TDOM3"
NWAddr="//10.154.32.12:9998"   Name="WTCLocalTuxDom-1055574838250"/>
<WTCRemoteTuxDom   AccessPoint="TDOM1"   AccessPointId="TDOM1"
LocalAccessPoint="TDOM3"   NWAddr="//10.154.32.1:7802"   Name="WTCRemoteTuxDom-1055574870890"/>
<WTCtBridgeGlobal
JndiFactory="weblogic.jndi.WLInitialContextFactory"
Name="WTCtBridgeGlobal-1055574926906"   TuxFactory="tuxedo.services.TuxedoConnection"/>
</WTCServer>


  注意:一定要配置“<WTCtBridgeGlobal 

 JndiFactory="weblogic.jndi.WLInitialContextFactory"
Name="WTCtBridgeGlobal-1055574926906"   TuxFactory="tuxedo.services.TuxedoConnection"/>”


  重新启动weblogic,到simpapp的应用程序路径下: 

 e:>   bea\weblogic700\samples\server\src\examples\wtc\atmi\simpapp>setExamplesEnv.cmd
#设置环境变量 
e:>   bea\weblogic700\samples\server\src\examples\wtc\atmi\simpapp>run   fdsfdsafds


  程序执行成功,返回结果: 

 converted   to:   FDSFDSAFDS
2、 tbridge


  功能是通过weblogic中的tbride监测tuxedo的消息队列,将tuxedo的消息队列里面的数据通过tbridge实时地传递到weblogic   server中的jms   server中的消息队列中去。 
  A:tuxido配置 
  两个文件和上面配置一样。 
  首先建立消息空间QSPACE: 

 qmadmin
.>qspacecreate   QSPACE
>qcreate   QALARM


  利用SIMPCL客户端向消息队列加入消息。 
  B:WEBLOGIC配置 
  建立JMS   SERVER: 

 <JMSServer   Name="MyJMSServer">
<JMSQueue   JNDIName="weblogic.jms.Jms2TuxQueue"   Name="Jms2TuxQueue"/>
<JMSQueue   JNDIName="weblogic.jms.Tux2JmsQueue"
Name="Tux2JmsQueue"   StoreEnabled="true"/>
<JMSQueue   JNDIName="weblogic.jms.tBerrorQueue"   Name="tBerrorQueue"/>
</JMSServer>


  建立WTCSERVER 

 <WTCServer   Name="MyWTCServer"   Targets="liwhserver">
<WTCImport   LocalAccessPoint="TDOM3"
Name="WTCImport-1055574899843"   RemoteAccessPointList="TDOM1"
RemoteName="TOUPPER"   ResourceName="TOUPPER"/>
<WTCImport   LocalAccessPoint="TDOM3"
Name="WTCImport-1055582665875"   RemoteAccessPointList="TDOM1"   ResourceName="QSPACE"/>
<WTCLocalTuxDom   AccessPoint="TDOM3"   AccessPointId="TDOM3"
NWAddr="//10.154.32.12:9998"   Name="WTCLocalTuxDom-1055574838250"/>
<WTCRemoteTuxDom   AccessPoint="TDOM1"   AccessPointId="TDOM1"
LocalAccessPoint="TDOM3"   NWAddr="//10.154.32.1:7802"   Name="WTCRemoteTuxDom-1055574870890"/>
<WTCtBridgeGlobal   JmsFactory="weblogic.jms.ConnectionFactory"
JndiFactory="weblogic.jndi.WLInitialContextFactory"
Name="WTCtBridgeGlobal-1055474376687"   Retries="3"
TuxFactory="tuxedo.services.TuxedoConnection"   WlsErrorDestination="weblogic.jms.tBerrorQueue"/>
<WTCtBridgeRedirect   Direction="TuxQ2JmsQ"   Name="redir1"
SourceAccessPoint="TDOM3"   SourceName="QALARM"
SourceQspace="QSPACE"   TargetName="weblogic.jms.Tux2JmsQueue"   TranslateFML="NO"/>
</WTCServer>


  注:weblogic7.0   server中,有一个bug,通过console配置WTCtBridgeRedirect后,会生成 

 <WTCtBridgeGlobal   JmsFactory="weblogic.jms.ConnectionFactory"
JndiFactory="weblogic.jndi.WLInitialContextFactory"
Name="WTCtBridgeGlobal-1055474376687"   Retries="3"
TuxFactory="tuxedo.services.TuxedoConnection"   WlsErrorDestination="weblogic.jms.tBerrorQueue"/>
<WTCtBridgeRedirect   Direction="TuxQ2JmsQ"   Name="redir1"
SourceAccessPoint="TDOM3"   SourceName="QALARM"
SourceQspace="QSPACE"   TargetName="weblogic.jms.Tux2JmsQueue"   TranslateFML="NO"/>
</WTCtBridgeGlobal>,必须手工将配置文件改成上面的格式才能使配置成功。


    重新启动WEBLOGIC,观察,当TUXEDO每次压入一个消息,会在JMS的队列中出现




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