2 回答
蛊毒传说
TA贡献1895条经验 获得超3个赞
关于 BMT 或 CMT 的本地或全局事务处理没有区别。
BMT 和 CMT 仅定义如何定义事务的开始和结束。在 CMT 中,它由带注释的方法的调用定义,在 BMT 中,事务的开始和结束是使用 UserTransaction 对象定义的。
如果全局事务是必要的,或者更好的是分布式事务,那么事务管理器将独立于 BMT 或 CMT 进行安排。
一旦涉及多个事务资源,就需要这些全局事务或两阶段提交。例如,如果您使用 MessageDriven bean,该 bean 调用注释为“Beanmanaged transaction processing”的 bean 并在 DBMS 中进行更改。在这种情况下,对消息队列和 DBMS 这两个资源都进行了两阶段提交。
所以,回答你的问题:
不,答案见上文。
如果没有事务管理器,您将无法使用多个资源进行事务。J2EE-Containers 通常提供分布式事务的容器将使用事务管理器处理所有事务。在 jboss,您可以将数据源配置为“无 jta”,在这种情况下,您可以明确地将它们从两阶段提交中排除,但我认为尽管如此,jboss-transactionmanager 仍将处理此类数据源的 db-connections。
是的,如果“提供”是指“支持”
添加回答
举报
0/150
提交
取消