Онлайн -оценка трех пулов соединений заключается в следующем:
C3P0 более занимает ресурсы и может быть немного ниже с точки зрения эффективности.
На практике есть ошибки в DBCP, и в некоторых случаях многие пустые соединения не могут быть выпущены. Hibernate 3.0 отказался от своей поддержки.
Proxool имеет меньше отрицательных отзывов и рекомендуется сейчас, а также предоставляет мгновенный мониторинг состояния пула соединений для облегчения утечки соединения.
Proxool Connection Pool
<bean id="proxool_dataSource"> <property name="driver-class" value="oracle.jdbc.driver.OracleDriver"/> <property name="driver-url" value="jdbc:oracle:thin:@localhost:1521/ssid"/> <property name="user" value="user"/> <property name="password" value="password"/> <!-- Оператор выполнения SQL для тестирования-> <name = name = "housekeepingTestsql" value = "select current_date"/> <!-Минимальное количество подключений к холостому лицу (по умолчанию 2)-> <Название свойства = "Prototypecount" value = "2"/> <!-Proxool автоматически обнаруживает временной интервал (миллисекции) каждого соединения. Если соединение холостого хода будет обнаружено, оно будет немедленно переработано. Разрушение времени ожидания по умолчанию по умолчанию до 30 секунд)-> <name = "housekepingsleeptime" value = "30"/> <!-Максимальное время активности (темы, превышающие это время, будут убиты, по умолчанию составляет 5 минут)-> <Название свойства = "MaximumActiveTime" value = "300"/> <!-Максимальное время подключения (по умолчанию 4 часа)-> <propertyme name = "maximumNectememememememememememememememememememememememe. <!-Минимальное количество соединений (по умолчанию 2)-> <name = "minimumConnectionCount" value = "10"/> <!-Максимальное количество соединений (по умолчанию 5)-> <Название свойства = "MaximumConnectionCount" value = "30"/> <!-Максимальное количество соединений в одно и то же время-> <свойство = "SpemulteBuildThrothrth
C3P0 Пул соединений
<beanid = "dataSource" class = "com.mchange.v2.c3p0.combopooledDataSource" Dresser-method = "close"> <propertyname = "DriverClass" value = "oracle.jdbc.driver.oracledriver"/> <propertyname="jdbcUrl"value="jdbc:oracle:thin:@localhost:1521/ssid"/> <propertyname="user"value="user"/> <propertyname="password"value="password"/> <propertyname="initialPoolSize"value="10"/> <propertyname="minPoolSize"value="10"/> <propertyname = "maxpoolsize" value = "100"/> </bean> <!- Свойства конфигурации C3P0. С помощью этих свойств различные эффективные элементы управления могут быть выполнены на источнике данных: приобретение: когда соединение в пуле соединения используется, C3P0 создает новые соединения одновременно; Acquireretryattempts: Определите количество повторяющихся попыток получить после неспособности получить новое соединение из базы данных, по умолчанию составляет 30; AccepireretryDelay: интервал между двумя соединениями, единица миллисекунды, по умолчанию составляет 1000; AutoCommitonClose: Когда соединение закрыто, все незавершенные операции откатаются по умолчанию. По умолчанию неверно; AutomatictStable: C3P0 создаст пустую таблицу с именем теста и использует свой собственный оператор запроса для тестирования. Если этот параметр определен, свойство PreferredTestQuery будет проигнорировано. Вы не можете ничего сделать в этой тестовой таблице, она будет использоваться для тестов C3P0, по умолчанию в NULL; Breakafteracquirefailure: Неспособность получить соединение приведет к тому, что все потоки ожидают, чтобы подключение к исключениям. Тем не менее, источник данных по -прежнему действителен и продолжает пытаться получить соединение в следующий раз, когда вы вызовите getConnection (). Если установить True, источник данных заявит, что он был отключен и навсегда закрыт после неудачных попыток получить соединение. По умолчанию неверно; Checkouttimeout: Когда пул соединений используется, клиентские вызовы getConnection () и ожидают времени, чтобы получить новое соединение. После тайм -аута будет брошено SQLEXCEPTION. Если установлено на 0, он будет ждать бесконечно. Unit Milliseconds, по умолчанию 0; ConnectionTesterClassName: Test Connections путем реализации ConnectionTester или QueryConnectionTester, имя класса должно быть установлено на полностью квалифицированное имя. По умолчанию com.mchange.v2.c3p0.impl.defaultconnectiontester; IdleConnectionTestPeriod: сколько секунд требуется, чтобы проверить холостовые соединения во всех пулах соединений, по умолчанию 0, что указывает на то, что оно не проверяется; Первоначальный размер: количество соединений, созданных во время инициализации, должно быть оценено между minpoolsize и maxpoolsize. По умолчанию 3; maxidletime: максимальное время простоя, соединения, превышающие время простоя, будут отброшены. Если это 0 или отрицательно, это никогда не будет отброшено. По умолчанию 0; maxpoolsize: максимальное количество соединений, оставленных в пуле соединений. По умолчанию 15; Макс -постановки: стандартный параметр JDBC, используемый для управления количеством подготовленных статей, загруженных в источнике данных. Но потому что оператор Precache принадлежит одному соединению, а не всему пулу соединений. Следовательно, установка этого параметра требует рассмотрения многих факторов. Если как максимальные установки, так и MaxStatementsPerConnection 0, кэш будет закрыт. По умолчанию 0; MaxStatementsPerConnection: максимальное количество кэшированных операторов, которые имеет одно соединение в пуле соединения. По умолчанию 0; NUMHELPERTHREADS: C3P0 асинхронно управляется, а медленные операции JDBC завершаются в процессе помощи. Расширение этих операций может эффективно повысить производительность, и несколько операций выполняются одновременно через несколько потоков. По умолчанию 3; PreferredTestQuery: определяет тестовый оператор, который выполняются все тесты подключения. Этот параметр может значительно улучшить скорость тестирования при использовании тестов подключения. Протестированная таблица должна существовать во время начального источника данных. По умолчанию null; PropertyCycle: максимальное количество секунд, чтобы подождать, прежде чем пользователь изменяет параметры конфигурации системы. По умолчанию 300; TestConnectionOncheckout: Пожалуйста, используйте его только при необходимости из -за высокого потребления производительности. Если установить True, его достоверность будет проверена при каждом представлении подключения. Рекомендуется использовать IdleConnectionTestEStEriod или AutomatictStable для повышения производительности тестирования подключения. По умолчанию неверно; TestConnectionOncheckin: если установить на TRUE, достоверность соединения будет проверена при получении соединения. По умолчанию ложь. ->
DBCP Pool Bool
<beanid = "dbcp_datasource" class = "org.apache.commons.dbcp.basicdatasource"> <propertyname = "DriverClassname" value = "oracle.jdbc.driver.oracledriver"> </property> <propertyname = "url" value = "jdbc: oracle: thin: @localhost: 1521/ssid"> </property> <propertyname = "username" value = "user"> </property> <proportname = "password" value = "password"> </property> <propertyname = "value =" 3 "> </parport> </property> <propertyname =" <propertyname = "maxactive" value = "50"> </property> <propertyname = "maxactive" value = "50"> </property> <propertyname = "maxidle" value = "20"> </property> <propertyname = "minidle" value = "5"> </propertyname = "maxwait". Описание инициализируется: начальное количество подключений при инициализации пула соединений Максирактивное: максимальное значение пула соединений Максидле: максимальное значение простоя: Минимальное значение простоя максимальное: максимальное время ожидания соединения ->