2010-03-10 3 views
0

내 J2EE 웹 애플리케이션에서 weblogic 서버에 저장된 데이터 소스를 사용하고 jndi를 통해 액세스했습니다. 일반적인 데이터 소스 bean 선언에는 default로 설정 될 수있는 defaultAutoCommit 속성이 있습니다. 유사한 속성이 있거나 JNDI에서 데이터 소스를 사용할 때 이와 비슷한 것을 설정하는 방법이 있습니다. 현재 나의 롤백은 JNDI를 사용하여 작동하지 않기 때문에. 하지만 일반적으로 defaultAutoCommit을 false로 설정하여 응용 프로그램 컨텍스트에서 데이터 소스를 정의하면 롤백이 작동합니다.Oracle Weblogic JNDI 데이터 소스 설정 기본값 자동 커밋

JNDI 데이터 소스 :

<bean id="TerasolunaDataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 
     <property name="jndiName" value="dataSource" /> 
</bean> 

일반 데이터 소스는 당신은 JTA 트랜잭션 관리자와 트랜잭션 로직을 필요로 응용 프로그램 컨텍스트

<bean id="dataSource" 
    class="org.apache.commons.dbcp.BasicDataSource"> 
    <property name="driverClassName" 
     value="oracle.jdbc.OracleDriver" /> 
    <property name="url" 
     value="jdbc:oracle:thin:@192.168.178.82:1521:anicom" /> 
    <property name="username" value="jay" /> 
    <property name="password" value="jay" /> 
    <property name="initialSize" value="5" /> 
    <property name="maxActive" value="10" /> 
    <property name="defaultAutoCommit" value="false" /> 
</bean 

답변

1

에 정의. 자동 커밋이 아닙니다.

+0

jndi를 사용할 때 datasourcetransactionmanager를 사용했습니다. 이것이 효과가 없을까요? – cedric

+0

WebLogicJtaTransactionManager가 있습니다. 나는 그것을 시도하는 것이 좋습니다. – duffymo

+0

DataTransactionManager와 함께 작동했습니다. 하지만 나는 콩 선언으로 뭔가를 바꿨다. 선언을 struts-config.xml에서 응용 프로그램 컨텍스트로 전송하려고 시도한 다음 그 작업을 수행했습니다. – cedric