트랜젝션 설정
- 작성자 :
- 송*경
- 작성일 :
- 2018-12-14 10:04:54
- 조회수 :
- 1,331
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
1. 이전에 트랜잭션과 inactive session 질문을 드렸었습니다.
당시 트랜잭션 상황이 아닌 커넥션풀 상황이라고 알려주셨구요.
혹시 logger를 이용해 두 상황을 구분할 수 있는지 궁금합니다.
트랜잭션을 이용하고 있는지 커넥션풀을 이용하고 있는지 확인하고 싶은데 방법이 있을까요?
2. ID Generation 와 security filter 도 DB를 이용하게 되는 서비스인데 설정 파일을 보면 datasource를 정해줍니다.
<!-- context-idgen.xml -->
<bean name="egovBatchIdGnrService" class="mmt.utl.mmtTableIdGnrServiceImpl" destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="strategy" ref="batchIdStrategy" />
<property name="blockSize" value="1"/>
<property name="table" value="TN_AUTOSEQ"/>
<property name="tblNm" value="BATCH_ID"/>
</bean>
<!-- context-security.xml -->
<egov-security:config id="securityConfig"
loginUrl="/main/loginUsr.do"
logoutSuccessUrl="/main/loginUsr.do"
loginFailureUrl="/main/loginUsr.do?login_error=1"
accessDeniedUrl="/main/accessDenied.do"
defaultTargetUrl="/main/main.do"
dataSource="dataSource"
jdbcUsersByUsernameQuery="SELECT USER_ID, USER_NM,SCRT_NO AS PASSWORD, 1 ENABLED FROM TN_USERS WHERE USER_ID = ?"
jdbcAuthoritiesByUsernameQuery="SELECT A.SECUR_STP_ID USER_ID, A.RGT_CD AUTHORITY FROM TN_USERSECUR A, TN_USERS B WHERE A.SECUR_STP_ID = B.USER_ID AND B.USER_ID = ?"
jdbcMapClass="mmt.utl.security.mmtSessionMapping"
requestMatcherType="regex"
hash="plaintext"
/>
이 경우 transaction manager를 적용하려면 어떻게 해야 하나요?
context-transaction.xml 의 pointcut 에 관련 메소드를 설정하면 되는건지요?
당시 트랜잭션 상황이 아닌 커넥션풀 상황이라고 알려주셨구요.
혹시 logger를 이용해 두 상황을 구분할 수 있는지 궁금합니다.
트랜잭션을 이용하고 있는지 커넥션풀을 이용하고 있는지 확인하고 싶은데 방법이 있을까요?
2. ID Generation 와 security filter 도 DB를 이용하게 되는 서비스인데 설정 파일을 보면 datasource를 정해줍니다.
<!-- context-idgen.xml -->
<bean name="egovBatchIdGnrService" class="mmt.utl.mmtTableIdGnrServiceImpl" destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="strategy" ref="batchIdStrategy" />
<property name="blockSize" value="1"/>
<property name="table" value="TN_AUTOSEQ"/>
<property name="tblNm" value="BATCH_ID"/>
</bean>
<!-- context-security.xml -->
<egov-security:config id="securityConfig"
loginUrl="/main/loginUsr.do"
logoutSuccessUrl="/main/loginUsr.do"
loginFailureUrl="/main/loginUsr.do?login_error=1"
accessDeniedUrl="/main/accessDenied.do"
defaultTargetUrl="/main/main.do"
dataSource="dataSource"
jdbcUsersByUsernameQuery="SELECT USER_ID, USER_NM,SCRT_NO AS PASSWORD, 1 ENABLED FROM TN_USERS WHERE USER_ID = ?"
jdbcAuthoritiesByUsernameQuery="SELECT A.SECUR_STP_ID USER_ID, A.RGT_CD AUTHORITY FROM TN_USERSECUR A, TN_USERS B WHERE A.SECUR_STP_ID = B.USER_ID AND B.USER_ID = ?"
jdbcMapClass="mmt.utl.security.mmtSessionMapping"
requestMatcherType="regex"
hash="plaintext"
/>
이 경우 transaction manager를 적용하려면 어떻게 해야 하나요?
context-transaction.xml 의 pointcut 에 관련 메소드를 설정하면 되는건지요?
A
안녕하세요.
표준프레임워크센터 입니다.
표준프레임워크에서는
AOP를 이용하여 트랜잭션을 처리하도록
다음 설정파일에 구성을 하고 있습니다.
/src/main/resources/egovframework/spring/com/context-transaction.xml
기본설정은 *Impl로 되어 있어
대상이 되는 서비스 클래스가
하나의 트랜잭션으로 처리되도록 기본 구성이 되어 있습니다.
시큐리티 간소화 기능은
별도의 트랜잭션 설정을 추가하도록 되어 있지 않습니다.
ID Generation도 별도의 트랜잭션을 설정하도록 되어 있지 않습니다.
트랜잭션 관련한 설정을 변경하는 것은
시스템 관리 측면에서
다소 위험부담이 있을수있기 때문에 권장드리지 않습니다.
특별한 요구사항이 있지 않는한은
기본설정을 활용하시는편이 좋을듯 합니다.
좀더 자세한 내용은 다음 위키페이지를
참고하실수 있습니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:psl:transaction:declarative_transaction_management
감사합니다.
표준프레임워크센터 입니다.
표준프레임워크에서는
AOP를 이용하여 트랜잭션을 처리하도록
다음 설정파일에 구성을 하고 있습니다.
/src/main/resources/egovframework/spring/com/context-transaction.xml
기본설정은 *Impl로 되어 있어
대상이 되는 서비스 클래스가
하나의 트랜잭션으로 처리되도록 기본 구성이 되어 있습니다.
시큐리티 간소화 기능은
별도의 트랜잭션 설정을 추가하도록 되어 있지 않습니다.
ID Generation도 별도의 트랜잭션을 설정하도록 되어 있지 않습니다.
트랜잭션 관련한 설정을 변경하는 것은
시스템 관리 측면에서
다소 위험부담이 있을수있기 때문에 권장드리지 않습니다.
특별한 요구사항이 있지 않는한은
기본설정을 활용하시는편이 좋을듯 합니다.
좀더 자세한 내용은 다음 위키페이지를
참고하실수 있습니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:psl:transaction:declarative_transaction_management
감사합니다.