JNDI 관련 질문입니다.
- 작성자 :
- 김*중
- 작성일 :
- 2014-11-03 20:51:45
- 조회수 :
- 606
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
환경은 웹로직, 오라클 사용하고 있습니다.
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="####" />
</bean>
datasource 설정을 저렇게하면 접속이 되는데, 새로고침을 계속 하면 웹로직의 커넥션 풀을 하나씩 계속 요청해, 다수를 물고 있는 상황이 생깁니다. 커넥션풀을 끊어주는 부분을 따로 설정해야하는것인가요??
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="####" />
</bean>
datasource 설정을 저렇게하면 접속이 되는데, 새로고침을 계속 하면 웹로직의 커넥션 풀을 하나씩 계속 요청해, 다수를 물고 있는 상황이 생깁니다. 커넥션풀을 끊어주는 부분을 따로 설정해야하는것인가요??
A
안녕하세요. 김석중님.
jndi 부분으로 WAS 상에 정의된 DataSource가 ConnectionPool 방식으로 되어 있으시기 때문에
다수의 connection을 가지고 있는 상황입니다.
명시적으로 끊어주는 방법도 없구요.
이는 일반적으로 Connection Pool 기능을 위해 WAS가 제공하는 기능으로 하나의 Connection을 직접적으로 관리하시려면 JNDI 방식이 아니라 다음과 같이 DriverManagerDataSource를 사용하여야 합니다.
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${driver}" />
<property name="url" value="${dburl}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</bean>
이 경우 getConnection() 호출 시 실제 connection을 연결하면, 명시적으로 close() 호출을 통해 연결을 종료하실 수 있습니다.
그럼, 즐거운 하루되십시오.
감사합니다.
jndi 부분으로 WAS 상에 정의된 DataSource가 ConnectionPool 방식으로 되어 있으시기 때문에
다수의 connection을 가지고 있는 상황입니다.
명시적으로 끊어주는 방법도 없구요.
이는 일반적으로 Connection Pool 기능을 위해 WAS가 제공하는 기능으로 하나의 Connection을 직접적으로 관리하시려면 JNDI 방식이 아니라 다음과 같이 DriverManagerDataSource를 사용하여야 합니다.
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${driver}" />
<property name="url" value="${dburl}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</bean>
이 경우 getConnection() 호출 시 실제 connection을 연결하면, 명시적으로 close() 호출을 통해 연결을 종료하실 수 있습니다.
그럼, 즐거운 하루되십시오.
감사합니다.