Dino Santiago
2004-03-23 09:48

> 说穿了就不会觉得神奇了( 有点像变魔术:-)

> ),这是由JTA服务器内部实现的,我可以说一下大致的原理(?> 程事务的部分就不说了(说来话长))。

> 当调用begin时,创建一个新事务,并将其放入事务池(是一?> Map对象)中,其键值就是线程对象。大概是这样的:Transac

> ionManager.getTranactionPool().put(System.currentThrea

> (),new TransactionObject());

> 当事务资源如会话Bean需要用到当前事务对象时,就调用

> TransactionManager.getTranactionPool().get(System.curr

> ntThread());来获得。

>

> 这也就是为什么EJB容器规定不能在容器中启动新线程的原因?> 一了(因为容器不好控制(也不是不可能)事务在新线程中传?> )。

>

>

请问这里的

System.currentThread()
究竟是何时,由谁,为何而起动的呢,它在逻辑上究竟代表什么呢?一个客户端?一次RMI调用?还是代表一个容器?

4Go 上一页 1 2 3 4