quality@glassfish.java.net

Re: GF v2ur2 -----EJBs Transaction Manage Problem When Networks between fail to connect.

From: Jim Jiang <jj156416_at_sun.com>
Date: Sun, 23 Nov 2008 23:01:30 +0800

Hi Dinghy,

I understand it is the transaction problem for the ejb on different
server when the network is broken.
If you could provide the detail log info, that will be helpful.

Thanks,
Jim

dinghy wrote:
>
> This Problem is from a friend in our QQ group[glassfish 47140531]. The
> ejb version is 3.0
>
> Generally,here are two seperate Apps, as A on A_SERVER and B on B_SERVER ,
>
> *EJB_A* needs to remotely call the* EJB_B* to fulfil some
> DataBase-commands on *B_SERVER*.
>
> At the most time,if any error or Time_Out happens on A or
> B,transaction will roll back.
>
> But when EJB_A is calling EJB_B,
>
> if the network between A and B fails to connect,
>
> EJB_B will wait until all the tables in B_SERVER are deadly locked,and
> then Transaction Timeout seems useless....
>
> 大概来说,就是两个相互独立的系统 A 和 B ,A 中的 ejb_a 负责远程调用 B
> 中 的ejb_b来执行一些 B 中的本地数据库操作。
> 正常的情况下两边任何一边出错,或者操作超时,都会进行回滚。
> 但当 ejb_a 调用 ejb_b 的期间,网络中断的话, ejb_b 会一直等待导致 B 数
> 据库中相应的表死锁,这时事务超时就形同虚设了。
>