context-datasource.xml 내의 타입에 따라 Exception에 의한 롤백 이 다릅니다
- 작성자 :
- 신*우
- 작성일 :
- 2015-01-02 10:36:15
- 조회수 :
- 711
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
안녕하세요.
JEUS 환경의 JNDI 를 사용하여 운영중입니다.
JNDI 데이타소스는 ConnectionPool class 를 사용하고 있습니다.
최근 트랜잭션에서 Exception이 발생했는데, 두건의 데이타 처리중 첫번째것은 commit 되고, 두번째것만 rollback이 되었다고 합니다
로컬에서 동일하게 처리하면, 모두 rollback 이 되었다고 합니다.
로컬과 운영과의 차이는 JNDI 와 DirectConnect 의 차이입니다.
현재 서버에서는 로컬과 동일하게 "org.apache.commons.dbcp.BasicDataSource" 를 사용하고 있습니다
어떤 해결법이 있을까요?
JNDI의 ConnectionPool DataSource를 XA로 바꾸면 될까요?
확인 부탁합니다.
JEUS 환경의 JNDI 를 사용하여 운영중입니다.
JNDI 데이타소스는 ConnectionPool class 를 사용하고 있습니다.
최근 트랜잭션에서 Exception이 발생했는데, 두건의 데이타 처리중 첫번째것은 commit 되고, 두번째것만 rollback이 되었다고 합니다
로컬에서 동일하게 처리하면, 모두 rollback 이 되었다고 합니다.
로컬과 운영과의 차이는 JNDI 와 DirectConnect 의 차이입니다.
현재 서버에서는 로컬과 동일하게 "org.apache.commons.dbcp.BasicDataSource" 를 사용하고 있습니다
어떤 해결법이 있을까요?
JNDI의 ConnectionPool DataSource를 XA로 바꾸면 될까요?
확인 부탁합니다.
A
안녕하세요. 신재우님.
DataSource의 실제 구현 방식이 일반적으로 transaction 처리에 영향을 주진 않습니다.
우선, 두 개의 상황이 동일한 업무 처리 부분에서 발생되었는지, 그렇다고 하면, 각각의 경우에 대한 오류 trace를 비교해 봐야 할 것 같습니다.
XA는 2PC와 같은 여러 DBMS를 하나의 transaction으로 묶을 때에 필요한 driver로, 현재의 상황에서는 필요하지 않으실 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.
DataSource의 실제 구현 방식이 일반적으로 transaction 처리에 영향을 주진 않습니다.
우선, 두 개의 상황이 동일한 업무 처리 부분에서 발생되었는지, 그렇다고 하면, 각각의 경우에 대한 오류 trace를 비교해 봐야 할 것 같습니다.
XA는 2PC와 같은 여러 DBMS를 하나의 transaction으로 묶을 때에 필요한 driver로, 현재의 상황에서는 필요하지 않으실 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.