platformtransactionmanager 예제

platformtransactionmanager 예제
0 August 2, 2019

PlatformTransactionManager는 모든 스프링 트랜잭션 관리자를 위한 일반 인터페이스입니다. Spring에는 DataSourceTransactionManager, 최대 절전 트랜잭션 관리자, JpaTransactionManager 등과 같은 다른 트랜잭션 관리 API와 함께 사용하기 위해이 인터페이스의 몇 가지 기본 제공 구현이 있습니다. 현재 예제는 단일 데이터 원본이 있는 JDBC에 대한 것이기 때문에 DataSourceTransactionManager를 사용합니다. 전파: 일반적으로 트랜잭션 범위 내에서 실행되는 모든 코드가 해당 트랜잭션에서 실행됩니다. 그러나 트랜잭션 컨텍스트가 이미 있는 경우 트랜잭션 메서드가 실행되는 경우 동작을 지정할 수 있습니다. 예를 들어, 코드는 기존 트랜잭션에서 계속 실행될 수 있습니다(일반적인 경우). 또는 기존 트랜잭션을 일시 중단하고 새 트랜잭션을 만들 수 있습니다. Spring은 EJB CMT에서 익숙한 모든 트랜잭션 전파 옵션을 제공합니다. 봄의 트랜잭션 전파의 의미체계에 대해 읽으려면 섹션 10.5.7, “트랜잭션 전파”를 참조하십시오.

이것은 실제로 봄 4.1에 도입되었습니다. 우리는 봄 4.1 전에 위의 예제를 실행하는 경우, 그것은 발생합니다 : 당신은 즉시 다음 예제에서 볼 수 있듯이, 트랜잭션 템플릿을 사용하여 절대적으로 봄의 트랜잭션 인프라와 API에 당신을 결합. 프로그래밍 방식의 트랜잭션 관리가 개발 요구에 적합한지 여부는 스스로 결정해야 하는 결정입니다. PlatformTransactionManager를 직접 사용하여 트랜잭션을 구현하는 프로그래밍 방식의 접근 방식을 구현해 보겠습니다. 새 트랜잭션을 시작하려면 적절한 트랜잭션 특성이 있는 트랜잭션정의 인스턴스가 있어야 합니다. 이 예제에서는 기본 트랜잭션 특성을 사용 하 여 DefaultTransactionDefinition 의 인스턴스를 간단 히 만듭니다. 이제 예제를 실행해 보겠습니다. 우리의 콩은 스프링 관리되기 때문에 먼저 응용 프로그램을로드해야합니다Context.xml. 일단 우리가 응용 프로그램 컨텍스트 개체, 우리는 우리에 게 펀드 매니저 빈을 반환 하도록 요청합니다. FundManager는 펀드를 관리하는 주요 인터페이스입니다. 두 번째 예제에서는 PlatformTransactionManager에 직접 의존하는 대신 트랜잭션 템플릿을 사용합니다.

트랜잭션을 직접 관리하는 대신 트랜잭션 관리자가 필요하며 트랜잭션 템플릿을 사용하여 트랜잭션을 관리합니다. 예제를 테스트하려면 몇 가지 테스트 데이터가 필요합니다. 사용할 샘플 계정이 이미 몇 개 작성되었습니다. 주석이 간단한 예제와 함께 작동하는 방식을 이해해 보겠습니다: 최대 절전 모드 및 Java EE 컨테이너 관리 JTA 트랜잭션을 사용하는 경우 JDBC의 이전 JTA 예제와 동일한 JtaTransactionManager를 사용해야 합니다.

Posted by medmedia