我们在Jboss应用服务器中使用Spring + Hibernate。我们一直在使用*-ds.xml文件来满足所有应用程序连接池的需要,如下所示
<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>最近,我们看到反复出现的“连接重置”和“无托管连接”异常。我们使用Spring的事务管理,这样我们就不会手动关闭任何连接。是否需要手动关闭连接,还是应该放弃Jboss连接池并使用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>发布于 2011-10-13 23:51:46
我不太熟悉"JBoss连接池“,但听起来好像有些连接在池中时被防火墙超时或切断。大多数连接池允许您设置一个“验证查询”,该查询将在发出连接之前运行,以验证连接是否仍然有效。使用它将使池在将死连接分配给应用程序使用之前放弃它们。
更新:也许你在找
https://stackoverflow.com/questions/7761684
复制相似问题