Spring Reference 9장

A collection of 23 posts

Declarative Transaction Management

Spring 트랜잭션 처리 2-1. XML based Declarative

Spring의 선언적 트랜잭션 관리 기법 중에서 XML 설정 내용을 사용하는 방법을 살펴 봅니다. 다른 방법으로는 어노테이션을 사용하는 방법이 있습니다. 이것은 Spring 트랜잭션 관리가 Spring AOP(그중에서도 Autoproxing)를 사용하고 있기 때문에 Spring AOP를 구현하는 두 가지 방법과 나란히 두 가지 방법을 마련한 것 같습니다.

Spring Reference 9장

Spring 트랜잭션 처리 1. Programmtic

참조 : Spring 프레임워크 워크북, 9.6. Programmatic transaction management (1) 레퍼런스와 워크북에도 나오지만 프로그래밍 적인 트랜잭션 처리 방법은 크게 두 가지가 있습니다.1. PlatformTransactionManager, TransactionStatus, TransactionDefinition을 사용하는 방법 (1)TransactionManager를 만들 때는 사용하는 트랜잭션 자원에 따라 만드는 방법이 다릅니다. (2)그리고 TransactionManager로 부터 getTransaction을

Spring Reference 9장

JDBC 기반 트랜잭션 처리 2. Business Layer에서 책임

참조 : Spring 프레임워크 워크북 이번에는 DAO 계층이 아닌 Service 계층으로 트랜잭션 책임을 다시 가져왔습니다. 따라서 서비스 계층이 이 전글에 비하면 좀 더 복잡해 졌습니다. 게다가 쌩 JDBC를 사용하고, 거기다 트랜잭션 처리도 AOP 사용해서 모듈화 하지 않았기 때문에 코드는 다음과 같이 다소 복잡합니다. public class

JDBC Transaction Management

JDBC 기반 트랜잭션 처리 1. Persistence Layer에서 책임

참조 : Spring 프레임워크 워크북 Spring 트랜잭션 처리를 예제 코드로 살펴보기 위해 먼저 JDBC 기반의 트랜잭션 처리의 불편함을 몸소 체험할 수 있는 코드를 작성했습니다. 트랜잭션 처리는 비즈니스 계층에서 해야겠죠. 하지만 왠지 트랜잭션! 이라고 하면 DB랑 연관이 있는 것 같아서 왠지 DAO 계층에서 처리해야 될 것만

트랜잭션

Transaction 관련 API

J2EE without EJB p242 의 그림입니다.TransactionDefinition, TransactionStatus, PlatformTransactionManagerPlatformTransactionManager 인터페이스를 구현한 클래스들 AbstractPlatformTransactionManager, CciLocalTransactionManager, DataSourceTransactionManager, HibernateTransactionManager, HibernateTransactionManager, JdoTransactionManager, JmsTransactionManager, JmsTransactionManager102, JpaTransactionManager, JtaTransactionManager, OC4JJtaTransactionManager, TopLinkTransactionManager, WebLogicJtaTransactionManager TransactionDefinition 인터페이스르 구현한 클래스들 DefaultTransactionAttribute, DefaultTransactionDefinition, DelegatingTransactionAttribute, RuleBasedTransactionAttribute, TransactionTemplate TransactionException 은 모두 RuntimeException으로 un-checked Exception입니다.

트랜잭션

9.7. Choosing between programmatic and declarative transaction management

programmatic transaction management 트랜잭션 처리를 할 부분이 매우 일부라면 트랜잭션 프록시 같은 것을 사용하지 않고 그냥 TransactionTemplate 을 사용하여 처리하는 것을 권장합니다. 트랜잭션 이름을 명시적으로 사용할 수 있다는 것도 이런 방법의 장점 중 하나입니다.[footnote]선언적인 방법에서는 트랜잭션 이름을 (아직까진) 명시적으로 줄 수 없었습니다.

트랜잭션

9.6. Programmatic transaction management

선언적인 방법이 아니고 프로그래밍을 통해 트랜잭션 관리를 할 때 두 가지 경우가 있습니다.1. TransactionTemplate 사용 할 경우2. PlatformTransactionManager 를 구현한 클래스를 직접 사용 할 경우 9.6.1. Using the TransactionTemplate private final TransactionTemplate transactionTemplate; 이렇게 멤버로 지정해 놓고 사용하면 됩니다. 먼저 트랜잭션의

트랜잭션

Spring 트랜잭션의 기반은 Spring AOP

라는 건 이미 레퍼런스에도 명시되어 있습니다. 그렇기 때문에 아래와 같이 사용법에 있어서 공통점이 존재하는 것 같습니다. Spring에서 AOP를 사용법을 구분하는 여러 구분자가 있을 수 있겠지만 간단한 declarative 하느냐 programmatically 하느냐로 나눌 수도 있겠습니다. Spring에서 트랜잭션 관리도 마찬가지로 선언적인 방법과 프로그래밍을 통한 방법으로 나뉩니다. Spring

트랜잭션

9.5.1. Understanding the Spring Framework's declarative transaction implementation

트랜잭션 관리 대상이 되는 클래스에 @Transactional 어노테이션을 붙이고 설정 파일에는 <tx:annotation-driven/>요렇게 추가하면 됩니다. 그렇게 하면 내부에서는 AOP를 사용하여 타겟에 대한 호출은 (1)AOP 프록시를 호출하게 되고 그 다음 (2)트랜잭션을 만들고 (3)트랜잭션 내에서 원하는 작업을 하고 (4)실제 작업을

트랜잭션

9.4. Resource synchronization with transactions

이번에 볼 것은 이전 글에서 살펴보았던 (1)각 종 TransactionManager를 사용하여 어떻게 Hibernate나 JDBC에 있는 트랙잭션 관련 API를 사용하느냐 (2)해당 자원[footnote]Hibernate나 JDBC, JTA등의 실제 트랜잭션을 처리하는 녀석들을 Resource라고 표현하고 있습니다.[/footnote]을 잘 가져왔고 creation/reuse/cleanup/trigger/transaction synchronization이 필요할

트랜잭션

9.3. Key abstractions

Spring의 트랜잭션 추상화 계층에서 트랜잭션 전략(transaction strategy)이 중요한 개념 중 하나입니다. 트랜잭션 전략을 위해서 PlatformTransactionManager 인터페이스를 사용합니다. public interface PlatformTransactionManager {     TransactionStatus getTransaction(TransactionDefinition definition)        throws TransactionException;     void commit(TransactionStatus status) throws TransactionException;    

You've successfully subscribed to Whiteship!
Could not sign up! Invalid sign up link.