Соединения не закрыты Spring с tomcat 5.5 - PullRequest
0 голосов
/ 19 июня 2011

Мы используем приложение j2ee с Spring Framework 2.0.Используемый сервер - Tomcat 5.5.Используемая база данных - MySQL.Мы используем VPS для размещения нашего приложения, и мы заметили, что использование процессора увеличивается с увеличением количества пользователей, использующих наше приложение.Загрузка ЦП не снижается, когда пользователи перестают использовать приложение.Соединения не закрыты должным образом или есть какая-то другая проблема?

Вот конфигурация servlet.xml для соединений

<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource">
      <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost/myDB"/>
    <property name="username" value="xxxx"/>
    <property name="password" value="xxxx"/>
    <property name="validationQuery" value="SELECT 1"/>
      <property name="testOnBorrow" value="true"/>
    </bean>

Мы также пытались использовать

<bean id="myDataSource"
       class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost/myDB"/>
    <property name="username" value="xxxx"/>
    <property name="password" value="xxxx"/>
 </bean>

Но оба они вызывают одну и ту же проблему.Кто-нибудь может помочь нам быстро?Потому что нам нужно исправить эту проблему в ближайшее время.Заранее спасибо.

1 Ответ

0 голосов
/ 19 июня 2011

Маловероятно, что высокая загрузка ЦП будет вызвана некоторыми проблемами пула соединений. Вероятно, это ошибка в коде вашего приложения. Вы контролировали соединения с базой данных - они правильно освобождены и закрыты?

Кстати, я бы предложил вам переключиться на собственный пул соединений, созданный в Tomcat. Его можно получить как стандартный ресурс Java EE из псевдо-JNDI, реализованного в Tomcat.

...