본문 바로가기
study/ERROR CASE

error: java.sql.SQLException: Already closed. oracle

by 휘루걸음 2012. 2. 5.
728x90
반응형


error: java.sql.SQLException: Already closed. oracle
상황 : 이상없이 잘 사용하던 커넥션이 한번씩 끊긴다. 이후 재사용시에는 무리없는 활동을 보여준다.
이유 : 데이터베이스 입장에서 오랫동안 휴면되는 커넥션은 불필요하다고 판단하고, 끊어버린다. 때문에 커넥션풀 설정시 연결 확인용 쿼리를 지정해주어야 한다.


<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="${db.driverName}"></property>
        <property name="url" value="${db.url}"></property>
        <property name="username" value="${db.username}"></property>
        <property name="password" value="${db.password}"></property>
        <property name="initialSize" value="${db.initialSize}"></property>
        <property name="maxActive" value="${db.maxActive}"></property>       
        <property name="validationQuery" value="select 1 from dual" /> <—Oracle

        <property name="validationQuery" value="select 1" /> <-- MySql

</bean>



or

jdbc.properties

#Oracle
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@--ip--:1521:ORA11G
jdbc.username=--id--
jdbc.password=--pw--
jdbc.maxActive=100
jdbc.maxIdle=30
jdbc.maxWait=-1
jdbc.validationQuery=select 1 from dual




728x90
반응형