EJB3 Mybatis和CMT的示例

时间:2011-10-29 23:59:04

标签: java transactions ejb-3.0 ibatis mybatis

有人知道容器控制事务的EJB3和Mybatis的例子,我创建的代码的唯一部分是:

SQLMapConfig.xml


<transactionManager type="EXTERNAL">
    <property name="SetAutoCommitAllowed" value="false"/>
    <dataSource type="JNDI">
        <property name="DataSource" value="java:comp/env/jdbc/sisds"/>
    </dataSource>
</transactionManager> 

但我有很多问题,例如,

  1. 当容器进行提交时?
  2. 当容器将会话释放到池中时?
  3. 先谢谢

1 个答案:

答案 0 :(得分:1)

容器根据EJB的配置方式提交事务。如果您使用的是bean管理的事务,那么您必须自己管理UserTransaction

无论如何,您必须自己管理MyBatis SqlSession。将tx类型设置为EXTERNAL(Mybatis 3中的MANAGED),只是意味着MyBatis从不在数据库连接上调用commit - 它依赖于容器提交。