gpt4 book ai didi

mysql - Tomcat 在每次启动时创建新的数据库 session + mysql

转载 作者:行者123 更新时间:2023-11-30 22:53:27 26 4
gpt4 key购买 nike

我正在开发一个 web 应用程序,我的堆栈是 Mysql+ hibernate+ spring。我注意到每次启动 tomcat 时都会创建一个新的数据库 session 。

我的 application.context xml 具有以下配置

<bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" id="dataSource">
<property name="driverClassName" value="${database.driverClassName}"/>
<property name="url" value="${database.url}"/>
<property name="username" value="${database.username}"/>
<property name="password" value="${database.password}"/>
<property name="testOnBorrow" value="true"/>
<property name="testOnReturn" value="true"/>
<property name="testWhileIdle" value="true"/>
<property name="timeBetweenEvictionRunsMillis" value="1800000"/>
<property name="numTestsPerEvictionRun" value="3"/>
<property name="minEvictableIdleTimeMillis" value="1800000"/>
<property name="validationQuery" value="SELECT 1"/>
<property name="maxActive" value="15" />
<property name="removeAbandoned" value="true" />
<property name="removeAbandonedTimeout" value="60" />
<property name="logAbandoned" value="true" />
</bean>
<bean class="org.springframework.orm.jpa.JpaTransactionManager" id="transactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>

非常感谢任何帮助

最佳答案

可能有两种可能性。

  1. 您的应用程序在启动时执行查询。这可以通过打开 hibernate/spring 日志记录来验证。

  2. 连接池默认的minIdle/initialSize连接属性为1。Initial size是指池启动时创建的初始连接数,minIdle是指池中可以保持空闲的最小连接数,无需创建额外的

关于mysql - Tomcat 在每次启动时创建新的数据库 session + mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27371407/

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