gpt4 book ai didi

java - 如果配置了Tomcat JDBC数据源,是否还需要Hibernate c3p0配置

转载 作者:行者123 更新时间:2023-12-02 04:38:20 26 4
gpt4 key购买 nike

也许我在这里理解不正确。如果已经配置了如下所示的数据源

<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close" p:driverClassName="${jdbc.driverClassName}"
p:url="${db.url}" p:username="${db.username}" p:password="${db.password}"
p:initialSize="10"
p:minIdle="10"
p:maxIdle="20"
p:maxActive="50"
p:timeBetweenEvictionRunsMillis="30000"
p:minEvictableIdleTimeMillis="60000"
p:validationQuery="SELECT 1"
p:validationInterval="30000" />

将以下属性添加到

是否有意义
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">

<property name="dataSource" ref="dataSource" />

<property name="jpaProperties">
<props>

<prop key="hibernate.default_schema">${jdbc.schema}</prop>
<prop key="hibernate.generate_statistics">${hibernate.generate_statistics}</prop>

<prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.generate_statistics">true</prop>
<prop key="hibernate.cache.provider_configuration_file_resource_path">ehcache.xml</prop>
<prop key="hibernate.cache.region_prefix"></prop>
<prop key="hibernate.cache.use_structured_entries">true</prop>

<prop key="hibernate.c3p0.minPoolSize">5</prop>
<prop key="hibernate.c3p0.maxPoolSize">20</prop>
<prop key="hibernate.c3p0.timeout">600</prop>
<prop key="hibernate.c3p0.max_statement">50</prop>
<prop key="hibernate.c3p0.testConnectionOnCheckout">true</prop>

</props>
</property>

如果没有。哪个更好?

在我看来,我上面配置的是池的两次。一次使用 Tomcat JDBC,另一次使用 c3p0。

最佳答案

在这种情况下,Spring 为您提供的好处是,您可以提供自己的 DataSource 并使用您想要/需要的连接池实现,无论您的应用程序将部署在何处,从而您的应用程序将完全独立于应用程序服务器(在本例中,Tomcat 作为 servlet 容器)。

从现在起,由您来决定使用哪个连接池实现。 IMO 我建议使用 HikariCP 而不是 C3P0 或 Tomcat。免责声明:我不以任何方式支持 HikariCP,我只是该技术的快乐用户。

关于java - 如果配置了Tomcat JDBC数据源,是否还需要Hibernate c3p0配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30482909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com