com.poscoict.glueframework.transaction
Class GlueHibernateTransactionManager

java.lang.Object
  extended by org.springframework.transaction.support.AbstractPlatformTransactionManager
      extended by org.springframework.orm.hibernate3.HibernateTransactionManager
          extended by com.poscoict.glueframework.transaction.GlueHibernateTransactionManager
All Implemented Interfaces:
GlueTransactionManager, Serializable, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean, org.springframework.transaction.PlatformTransactionManager, org.springframework.transaction.support.ResourceTransactionManager

public class GlueHibernateTransactionManager
extends org.springframework.orm.hibernate3.HibernateTransactionManager
implements GlueTransactionManager

HibernateTransactionManager 확장. Data Source의 트랜잭션을 관리하는 Manager 클래스이다. 내부적으로 Spring Framework에서 제공하는 HibernateTransactionManager를 사용한다.

 Bean Property
 
 - sessionFactory : (필수)
 
 
 
 예제
 사용 예# 1
 
     <bean id="tx" class="com.poscoict.glueframework.transaction.GlueHibernateTransactionManager">
         <property name="sessionFactory" ref="sessionFactory"/>
     </bean>
     <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
         <property name="dataSource" ref="ds"/>
         <property name="mappingResources">
             <list>
                 <value>HbSample01.hbm.xml</value>
             </list>
         </property>
         <property name="hibernateProperties">
             <props>
                 <prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop>
                 <prop key="hibernate.show_sql">true</prop>
                 <prop key="hibernate.transaction.flush_before_completion">false</prop>
             </props>
         </property>
     </bean>
     <bean id="ds" class="..."/>
 

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.springframework.transaction.support.AbstractPlatformTransactionManager
SYNCHRONIZATION_ALWAYS, SYNCHRONIZATION_NEVER, SYNCHRONIZATION_ON_ACTUAL_TRANSACTION
 
Constructor Summary
GlueHibernateTransactionManager()
           
GlueHibernateTransactionManager(org.hibernate.SessionFactory sessionFactory)
           
 
Method Summary
 org.springframework.transaction.TransactionStatus changeTransaction(org.springframework.transaction.TransactionStatus ts)
          ThreadLocal의 Transaction Status를 교체한다
 boolean commit()
          트랜잭션을 커밋한다.
protected  org.springframework.transaction.TransactionStatus getTransactionStatus()
           
 boolean rollback()
          트랜잭션을 롤백한다.
 void setTransactionDefinition(org.springframework.transaction.TransactionDefinition def)
          setter method for DI.
 void startTransaction()
          트랜잭션을 시작한다.
 
Methods inherited from class org.springframework.orm.hibernate3.HibernateTransactionManager
afterPropertiesSet, convertHibernateAccessException, convertJdbcAccessException, doBegin, doCleanupAfterCompletion, doCommit, doGetTransaction, doResume, doRollback, doSetRollbackOnly, doSuspend, getDataSource, getDefaultJdbcExceptionTranslator, getEntityInterceptor, getJdbcExceptionTranslator, getResourceFactory, getSessionFactory, isExistingTransaction, isSameConnectionForEntireSession, prepareForCommit, setAutodetectDataSource, setBeanFactory, setDataSource, setEarlyFlushBeforeCommit, setEntityInterceptor, setEntityInterceptorBeanName, setHibernateManagedSession, setJdbcExceptionTranslator, setPrepareConnection, setSessionFactory
 
Methods inherited from class org.springframework.transaction.support.AbstractPlatformTransactionManager
commit, determineTimeout, getDefaultTimeout, getTransaction, getTransactionSynchronization, invokeAfterCompletion, isFailEarlyOnGlobalRollbackOnly, isGlobalRollbackOnParticipationFailure, isNestedTransactionAllowed, isRollbackOnCommitFailure, isValidateExistingTransaction, newTransactionStatus, prepareSynchronization, prepareTransactionStatus, registerAfterCompletionWithExistingTransaction, resume, rollback, setDefaultTimeout, setFailEarlyOnGlobalRollbackOnly, setGlobalRollbackOnParticipationFailure, setNestedTransactionAllowed, setRollbackOnCommitFailure, setTransactionSynchronization, setTransactionSynchronizationName, setValidateExistingTransaction, shouldCommitOnGlobalRollbackOnly, suspend, triggerBeforeCommit, triggerBeforeCompletion, useSavepointForNestedTransaction
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.springframework.transaction.PlatformTransactionManager
commit, getTransaction, rollback
 

Constructor Detail

GlueHibernateTransactionManager

public GlueHibernateTransactionManager()

GlueHibernateTransactionManager

public GlueHibernateTransactionManager(org.hibernate.SessionFactory sessionFactory)
Parameters:
sessionFactory -
Method Detail

getTransactionStatus

protected org.springframework.transaction.TransactionStatus getTransactionStatus()
Returns:

setTransactionDefinition

public void setTransactionDefinition(org.springframework.transaction.TransactionDefinition def)
setter method for DI.

Parameters:
def -

startTransaction

public void startTransaction()
                      throws GlueException
Description copied from interface: GlueTransactionManager
트랜잭션을 시작한다. 명시적으로 startTransaction 메소드를 호출하지 않으면 트랜잭션이 작동하지 않는다.

Specified by:
startTransaction in interface GlueTransactionManager
Throws:
GlueException - 트랜잭션 시작 실패 시

commit

public boolean commit()
               throws GlueException
Description copied from interface: GlueTransactionManager
트랜잭션을 커밋한다. 커밋 수행 후 새로운 트랜잭션을 시작하기 위해서는 startThreadLocalTransaction 메소드를 호출해 주어야 한다.

Specified by:
commit in interface GlueTransactionManager
Returns:
성공하면 true
Throws:
GlueException - 트랜잭션 커밋 실패 시

rollback

public boolean rollback()
                 throws GlueException
Description copied from interface: GlueTransactionManager
트랜잭션을 롤백한다. 롤백 수행 후 새로운 트랜잭션을 시작하기 위해서는 startThreadLocalTransaction 메소드를 호출해 주어야 한다.

Specified by:
rollback in interface GlueTransactionManager
Returns:
성공하면 true
Throws:
GlueException - 트랜잭션을 롤백 실패 시

changeTransaction

public org.springframework.transaction.TransactionStatus changeTransaction(org.springframework.transaction.TransactionStatus ts)
                                                                    throws GlueException
Description copied from interface: GlueTransactionManager
ThreadLocal의 Transaction Status를 교체한다

Specified by:
changeTransaction in interface GlueTransactionManager
Returns:
TransactionStatus 기존에 사용하고 있던 TransactionStatus
Throws:
GlueException


Copyright © 2013–2017 POSCO ICT. All rights reserved.