Установка времени ожидания для BasicDataSource

У нас есть приложение на основе Hibernate (для сервера MySQL), развернутое в Tomcat 7.0.x.

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

Есть ли у нас какое-либо свойство, которое можно установить в конфигурации Tomcat/Hibernate?

Можно ли использовать removeAbandonedTimeout для этой цели? [https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html]

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
    <property name="url" value="${database.url}"></property>
    <property name="username" value="${database.username}"></property>
    <property name="password" value="${database.pwd}"></property>
    <property name="initialSize" value="8"></property>
    <property name="maxActive" value="30"></property>
    <property name="maxWait" value="10000"></property>
</bean>


    <property name="removeAbandonedTimeout" value="20"></property>   ??

person Srinivas Lakshman    schedule 09.03.2017    source источник


Ответы (1)


DefaultQueryTimeout из https://commons.apache.org/proper/commons-dbcp/configuration.html

это тот, который контролирует тайм-ауты запроса/выполнения

person Valath    schedule 17.06.2020
comment
Пожалуйста, избегайте ответов только со ссылками, так как ссылки могут устареть. Попробуйте обновить свой ответ важной частью того, что вы нашли полезным в предоставленной вами ссылке. Хотя эта ссылка может решить вопрос, включая объяснение того, как и почему это решает проблему, действительно поможет улучшить качество вашего поста и, вероятно, приведет к большему количеству голосов. Помните, что вы отвечаете на вопрос для будущих читателей, а не только для того, кто спрашивает. - person Vickel; 18.06.2020