Пример EJB3 Mybatis и CMT - PullRequest
       41

Пример EJB3 Mybatis и CMT

2 голосов
/ 30 октября 2011

Кто-то знает пример с 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. Когда контейнер выпускает сеанс в пул?

Заранее спасибо

1 Ответ

1 голос
/ 30 октября 2011

Контейнер фиксирует транзакцию в зависимости от того, как настроены ваши EJB.Если вы используете транзакции, управляемые bean-компонентами, вы должны сами управлять UserTransaction.

Независимо от этого, вы должны сами управлять MyBatis SqlSession.Установка типа tx на EXTERNAL (MANAGED в Mybatis 3) просто означает, что MyBatis никогда не вызывает commit для соединения с БД - он полагается на контейнер для фиксации.

...