allowCustomIsolationLevels 설정에 관한 문의
앞서 Jeus 환경에서 JTA Transaction Service 사용에 대한 문의를 올렸습니다.
앞서 발생한 오류는 일단 무시하고, SQL을 실행하였을 경우
다음과 같은 오류가 발생합니다.
---------------------------------------------------------------
2008-08-18 14:36:26,727 ERROR [org.codelabor.common.listeners.SessionListener] JtaTransactionManager does not support custom isolation levels by default - switch 'allowCustomIsolationLevels' to 'true'
org.springframework.transaction.InvalidIsolationLevelException: JtaTransactionManager does not support custom isolation levels by default - switch 'allowCustomIsolationLevels' to 'true'
---------------------------------------------------------------
내용인즉, custom isolation level은 지원하지 않으니
allowCustomIsolationLevels 속성을 true로 켜라는 것 같습니다.
이 설정은 어디에 추가를 하면 되는지요?
그리고 제가 사용한 ISOLATION LEVEL은 다음과 같습니다.
--------------------------------
DEFAULT: datastore에 의존
READ_UNCOMMITTED: Dirty reads, Non-repeatable reads, Phantom reads 발생
READ_COMMITTED: Dirty reads 방지, Non-repeatable reads, Phantom reads 발생
REPEATABLE_READ: Non-repeatable Read 방지, Phantom reads 발생
SERIALIZABLE: Phantom Read 방지
--------------------------------
위 ISOLATION LEVEL은 Anyframe 3.0.1에서 사용되었던 것이라
custom으로 만든 isolation level은 없습니다만
이게 앞에서 JTA 설정에 실패해서 나오는 것인지
제가 사용하는 ISOLATION LEVEL에 문제가 있는 것인지 궁금합니다.


일단 설정은 찾았습니다만
다음과 같이 설정해서 일단 에러는 피했습니다.
<bean
id="txManager"
class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="transactionManagerName" value="java:/TransactionManager" />
<property name="jndiTemplate" ref="jndiJeusTemplate"></property>
<property name="allowCustomIsolationLevels" value="true"/>
</bean>
그런데 http://www.springframework.org/schema/tx/spring-tx-2.5.xsd 를 참고해도
<xsd:restriction base="xsd:string">
<xsd:enumeration value="DEFAULT"/>
<xsd:enumeration value="READ_UNCOMMITTED"/>
<xsd:enumeration value="READ_COMMITTED"/>
<xsd:enumeration value="REPEATABLE_READ"/>
<xsd:enumeration value="SERIALIZABLE"/>
</xsd:restriction>
와 동일한 값을 주었는데 왜 custom으로 인식을 할까요?