Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Спящий режим пула соединений по умолчанию

Автор вопроса: Adi BaronОтветов: 3

Использует ли Hibernate пул соединений по умолчанию? Если да, то какое значение по умолчанию для * connection.pool_size *? Разве это не конфликтует с * hibernate.connection.release_mode *? Разве идея пула соединений не в закрытии соединений?

hibernateconnection-pooling

Ответы

Ответ 1 · рейтинг 9 · Jordan Robinson

Пул соединений гибернации по умолчанию (который не должен использоваться в производственной среде) имеет ограничение по умолчанию, равное 1, поскольку он предназначен для использования только для простого тестирования. Однако это можно настроить с помощью файла hibernate.properties, поэтому стоит проверить, определен ли он там в вашем проекте.

Речь идет о недвижимости:

hibernate.connection.pool_size

Информация об этом в основном содержится в этой ссылке:

http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/session-configuration.html

Хотя здесь напрямую не указан размер пула соединений по умолчанию, в нем есть большая часть информации, которая может вам понадобиться по вопросу о пуле соединений в спящем режиме.

Ответ 2 · рейтинг 6 · Suresh Atta

По умолчанию Hibernate поставляется с возможностью получения реализации источника данных (javax. sql.DataSource) из JNDI, задав свойства соответствующим образом:

Максимальный размер пула подключений JNDI по умолчанию - Без максимального размера.

Здесь вы можете найти значения по умолчанию для пула JNDI.

http://docs.oracle.com/javase/jndi/tutorial/ldap/connect/config.html

Чтобы получить эффективную производительность, вы должны использовать third party pool для лучшей производительности и стабильности.

Если вы используете сервер приложений, вы можете использовать встроенный пул (обычно соединение устанавливается с помощью JNDI). Если вы не можете или не хотите использовать встроенный пул соединений вашего сервера приложений, Hibernate поддерживает несколько других пулов соединений, таких как

  • c3p0

  • Apache DBCP

  • Proxool

http://www.informit.com/articles/article.aspx?p=353736&seqNum=4

Ответ 3 · рейтинг 3 · Vjncenzo

Я не нашел документации о значениях Hibernate по умолчанию для пула соединений, поэтому я просмотрел исходный код и нашел (класс DriverManagerConnectionProviderImpl в hibernate-core-4.3.8.Final):

hibernate.connection.initial_pool_size = 1;
hibernate.connection.min_pool_size = 1;
hibernate.connection.pool_size = 20;
hibernate.connection.pool_validation_interval = 30;
hibernate.connection.autocommit = false;

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы