WEB开发网
开发学院软件开发Java Weblogic中因为IP变更导致SubCoordinator not ava... 阅读

Weblogic中因为IP变更导致SubCoordinator not available,Transaction RollbackException问题调查

 2009-09-22 00:00:00 来源:WEB开发网   
核心提示: 初看到这个异常,家里做测试,Weblogic中因为IP变更导致SubCoordinator not available,Transaction RollbackException问题调查(2),Tx的subcoordinator怎么会用到公司的IP(10.182.216.189)呐?怎么着也应该

初看到这个异常,家里做测试,Tx的subcoordinator怎么会用到公司的IP(10.182.216.189)呐?怎么着也应该是 192.168.0.51吧?第一感觉是我的datasource配置有问题,仔细检查了一下,没什么问题。再检查检查server2的listen address,也没有问题。见鬼了,怎么会这样?还有什么地方能跟IP有关系呢?tlog?  没错,的确好像跟tlog有关系,当时想直接把tlog删掉,重起一下算了。毕竟自己最近在做JTA的调查,干脆自己彻底debug一下算了。

重新启动客户端测试程序,debug一下客户端transaction信息。顺便提一下,weblogic中transaction在 client、server之间是通过PropagationContext来回传递的,一次RMI调用,会导致一次传递来回。 PropagationConext中一般包括如下信息:

Xid: 事务ID

CoordinatorURL: 事务主coordinator的URL(最终事务提交在对应的server上完成)

scURLs: subcoordinator url列表,每个involve到该tx中的server url都在其中。coordinator通过这个url通知每个subcoordinator完成事务的提交、回滚。

resNames: involve到该tx中所以resource的名字列表

......

从异常上来看,这个问题跟subCoordinator有关,所以在客户端,我只debug了scURLs,如下,

Weblogic中因为IP变更导致SubCoordinator not available,Transaction RollbackException问题调查

图片看不清楚?请点击这里查看原图(大图)。

从debug信息来看,server2的scURL应该是没有问题的。回头再看看这个异常,因为异常是在客户端发起提交请求的时候,server端抛出的,问题是,我传递过去的是个正确的scURL(192.168.0.51),server端怎么会解析出一个错误的 url(10.182.216.189)呢?

上一页  1 2 3 4 5 6  下一页

Tags:Weblogic 因为 IP

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接