【问题标题】:Example of EJB3 Mybatis and CMTEJB3 Mybatis 和 CMT 示例
【发布时间】:2011-10-29 23:59:03
【问题描述】:

有人知道容器控制事务的 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. 容器何时将会话释放到池中?

提前致谢

【问题讨论】:

    标签: java transactions ejb-3.0 ibatis mybatis


    【解决方案1】:

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

    无论如何,你必须自己管理 MyBatis SqlSession。将 tx 类型设置为EXTERNAL(Mybatis 3 中为MANAGED),仅仅意味着 MyBatis 永远不会在 DB 连接上调用 commit——它依赖于容器来提交。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-08
      • 2011-11-15
      • 1970-01-01
      相关资源
      最近更新 更多