복붙노트

[SPRING] "최선의 노력 1PC"패턴에 따라 Spring ChainedTransactionManager 구현하기

SPRING

"최선의 노력 1PC"패턴에 따라 Spring ChainedTransactionManager 구현하기

최선의 노력 1PC이 게시물에 잘 설명되어 있습니다. SpringSource에서 일하는 David Syer의 저자는 Spring AbstractPlatformTransactionManager 클래스를 확장하는 ChainedTransactionManager의 구현을 제공했습니다.

이 특정 트랜잭션 관리자는 n 개의 트랜잭션 (예 : JDBC 또는 JMS 세션)을 시작하고 자원 당 하나씩 AbstractPlatformTransactionManager의 n 개의 인스턴스를 사용하여 커밋 / 롤백을 수행 할 수 있습니다. 이것은 XA 드라이버를 사용할 수없는 경우에 매우 유용합니다. 게시물이 매우 오래된 코드이기 때문에 코드는 Spring 2.5에서 제대로 작동하지만 Spring 3 이상에서는 실패합니다.

Spring 3+에서 유사한 기능을 구현하기위한 요청 티켓이 있습니다. 시도해볼 의향이 있지만 먼저 물어볼 줄 알았는데 거기에 구현이 있습니까?

감사

해결법

  1. ==============================

    1.Luciano가 제안한 것처럼 ChainedTransactionManager의 완벽하게 작동하는 구현을 다음에서 찾았습니다.

    Luciano가 제안한 것처럼 ChainedTransactionManager의 완벽하게 작동하는 구현을 다음에서 찾았습니다.

    <dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-neo4j-tx</artifactId>
      <version>2.2.0.RELEASE</version>
    </dependency>
    

    클래스 이름 : org.springframework.data.neo4j.transaction.ChainedTransactionManager

    편집하다:

    ChainedTransactionManager는 이제 버전 1.6.1에서 Spring Data Commons의 일부입니다.

  2. from https://stackoverflow.com/questions/15817909/implementing-spring-chainedtransactionmanager-according-to-the-best-efforts-1pc by cc-by-sa and MIT license