반응형
error: java.sql.SQLException: Already closed. oracle
상황 : 이상없이 잘 사용하던 커넥션이 한번씩 끊긴다. 이후 재사용시에는 무리없는 활동을 보여준다.
이유 : 데이터베이스 입장에서 오랫동안 휴면되는 커넥션은 불필요하다고 판단하고, 끊어버린다. 때문에 커넥션풀 설정시 연결 확인용 쿼리를 지정해주어야 한다.
library에서 작업 시
<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="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>
tomcat에서 작업 시
<Resource
name="jdbc/MyDS"
auth="Container"
type="javax.sql.DataSource"
username="nextree"
password="xxx"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/nextree"
validationQuery="select 1"
/>
'Study > Java' 카테고리의 다른 글
java file download 한글 깨짐 현상 해결 (0) | 2014.03.12 |
---|---|
jar 파일 내의 파일 경로 가져오기 (0) | 2014.03.11 |
java SWT browser javascript call and receive (0) | 2014.03.04 |
slf4j cast exception (0) | 2013.10.14 |
[JAVA] Working Day JAVA Source(ICU LIBRARY 사용) (0) | 2013.03.13 |