2011-10-13 6 views
0

우리는 Jboss 응용 프로그램 서버에서 Spring + Hibernate를 사용합니다. 최근에 우리는 "연결 재설정"와 "아니오 관리 연결"예외를 반복적으로보고있다Jboss 연결 풀링 또는 최대 절전 연결 풀링

<driver-class>oracle.jdbc.driver.OracleDriver</driver-class> 
<user-name>dev_1</user-name> 
<password>*********</password> 
<min-pool-size>5</min-pool-size> 
<max-pool-size>15</max-pool-size> // production system has more than 80 connections 
<idle-timeout-minutes>1</idle-timeout-minutes> 

을 다음과 같이 우리는 * -ds.xml 파일을 사용하는 모든 응용 프로그램 연결 풀링 요구에 풀링 제이 보스 연결을 사용하고있다. 우리는 Spring의 트랜잭션 관리를 사용하므로 수동으로 연결을 닫지 않습니다. 연결을 수동으로 닫을 필요가 있는지 또는 Jboss Connection 풀을 포기하고 c3po 연결 풀링 메커니즘을 사용해야하는지, 아니면 둘 다 함께 사용할 수 있습니까? SessionFactory에의

우리의 최대 절전 모드 속성은 ...

<property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.show_sql">false</prop> 
      <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9iDialect</prop> 
      <prop key="hibernate.jdbc.batch_size">0</prop> 
      <prop key="hibernate.jdbc.factory_class">net.bull.javamelody.HibernateBatcherFactory</prop> 
      <prop key="hibernate.use_streams_for_binary">true</prop> 
      <prop key="hibernate.cache.use_query_cache">true</prop> 
      <prop key="hibernate.cache.use_second_level_cache">true</prop> 
      <prop key="hibernate.cache.provider_configuration_file_resource_path">ehcache.xml</prop> 
      <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop> 
      <prop key="hibernate.cache.query_cache_factory">com.cisco.ipcentral.hibernate.cache.StandardQueryCacheFactory</prop> 
      <!-- applicationContext hibernateProperties merge-point --> 
     </props> 
    </property> 

답변

0

나는 "보스 연결 풀"에 익숙하지 해요,하지만 당신이 시간 초과하거나 그들이하는 동안 방화벽에 의해 차단 된 연결이 같은 소리 수영장에있어. 대부분의 연결 풀을 사용하면 연결이 남아 있는지 확인하기 위해 연결이 전달되기 전에 실행될 "유효성 검사 쿼리"를 설정할 수 있습니다. 이를 사용하면 풀을 사용하기 전에 응용 프로그램에 제공하기 전에 연결을 끊을 수 있습니다.

업데이트 : 어쩌면 당신은 <check-valid-connection-sql>을 찾고 있습니까?