2014-12-09 5 views
1

Я разрабатываю веб-приложение, а мой стек - Mysql + hibernate + spring. Я заметил, что каждый раз, когда я запускаю свой tomcat, создается новый сеанс базы данных.Tomcat создает новый сеанс базы данных при каждом запуске + mysql

мой 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> 

Любая помощь очень ценится

ответ

0

Там может быть два варианта.

  1. Либо приложение запускает запросы при запуске. Это можно проверить, включив журнал гибернации/весны.

  2. Свойство minIdle/initialSize для подключения пула соединений по умолчанию: 1. Первоначальный размер означает начальное число соединений, созданных при запуске пула, в то время как minIdle ссылается на минимальное количество подключений, которые могут оставаться бездействующими в пуле, без создаются дополнительные

+0

Привет, я проверил, что я зарегистрировался. Я не видел выполнения запроса. Я попытался изменить мой минуд на 2, и все же я мог видеть новый сеанс базы данных при каждом запуске Tomcat –

+0

Что происходит, когда вы устанавливаете initialSize на 0? –

+0

Даже я установил initalSize 0, он создает новый сеанс db каждый раз, когда я запускаю свой tomcat. –

Смежные вопросы