2012-10-25 71 views
0

我正在尝试将Toplink和CMT消息驱动bean集成。我的MDB是CMT。当我尝试使用unitofwork commit时,它错误地指出全局事务存在,因此不能进行本地提交。在研究toplink之后,他们提出了以下建议。使用外部连接池并使用getactiveUnit工作来提交。我们使用oracle 10.1.3容器进行连接池和外部事务控制器(OC4J事务控制器)。当我更改为getActiveUnitWork()。commit时,由于空活动工作单元,我得到空指针。我的理解是容器在执行MDB消息时启动一个事务。因此,链接顶尖的工作单元应该将工作单位与外部交易联系起来。 Toplink GetActive工作单元方法应该只在没有外部事务存在时才返回null。我不知道如何解决这个问题或者什么是错的。我很感激这方面的帮助。Toplink和CMT消息驱动bean

谢谢。 TZ

回答

0

确保您已正确设置了您的会话的ExternalTransactionController,并且存在活动的JTA事务。