Выбор библиотеки пула соединений Java JDBC в 2011/2012?

Какую библиотеку пула соединений JDBC следует использовать для нового проекта приложения (не веб-приложения)?

  • Apache DBCP имеет достаточно нерешенных проблем которые, я думаю, продвинулись до версии 2.0.
  • Кажется, что разработка C3P0 остановлена.
  • И оба они выглядят относительно медленными.
  • Proxool мертв.
  • DBPool почти не имеет сообщества (по крайней мере, я не нашел общедоступного - ни форумов, ни списков рассылки ... )
  • Apache Tomcat Pool выглядит непригодным для использования без Tomcat
  • Я нашел статью Источники данных SQL на веб-сайте Oracle, но кажется, что она может применяться только к апплетам, работающим в контейнерах, таких как сервлеты и веб-службы.

Может, стоит выбрать BoneCP? У меня нет особых требований. Мне просто нужен хороший и простой в использовании пул подключений к базе данных, который находится в активной разработке. Библиотека, автор которой может отвечать на сообщения об ошибках, отвечать на конкретные вопросы и т. Д.

Кстати, на самом деле я использую только MySQL. Я обнаружил, что драйвер MySQL поддерживает интерфейс DriverManager, но я не уверен, действительно ли он объединяет соединения или нет.


person Vladislav Rastrusny    schedule 12.04.2011    source источник
comment
Почему Apache Tomcat Pool выглядит непригодным для использования без Tomcat? Вы можете скачать его как отдельный модуль. И, насколько я понял, он также предназначен для использования вне Tomcat.   -  person a_horse_with_no_name    schedule 30.03.2012
comment
c3p0 воскрес и довольно активен в банкомате (github.com/swaldman/c3p0)   -  person Aleksander Blomskøld    schedule 26.06.2012
comment
Пул соединений Tomcat определенно можно использовать за пределами Tomcat.   -  person matt b    schedule 02.10.2012
comment
Отличный список, именно то, что я искал. Однако отсутствует один претендент: HikariCP.   -  person Sergei    schedule 13.01.2014
comment
@Sergei хорошее замечание. Сразу отметим, что Хикари всего 6 месяцев. Я очень надеюсь, что этот проект будет и дальше развиваться и будет активно развиваться.   -  person Vladislav Rastrusny    schedule 21.01.2014
comment
в 2014 г. взгляните на: github.com/brettwooldridge/HikariCP   -  person Chris    schedule 29.04.2014


Ответы (4)


Вы провели хорошее исследование. Я бы сказал, продолжайте с BoneCP. Несколько лет назад я бы предложил c3p0, но в настоящее время у него есть некоторые открытые и нерешенные проблемы а также. На самом деле жаль. Кстати, автор BoneCP также активен здесь в SO.

person BalusC    schedule 12.04.2011
comment
все сильно изменилось за 2 года, когда вы впервые опубликовали этот ответ, теперь я думаю, что ни одна из библиотек CP не находится в активной разработке, не могли бы вы добавить обновление, разделяющее текущий сценарий, если это возможно? что бы вы выбрали сегодня? - person Rajat Gupta; 18.08.2013
comment
На данный момент я не могу рекомендовать текущую версию BoneCP (0.8). Я запускаю его в производство уже пару дней, и это неприемлемо глючит. Я бы использовал HikariCP, если бы для меня был вариант Java 7 . - person Matt Ball; 15.01.2014
comment
@Matt: Спасибо за отзыв! Выбор к 2013/2014 годам действительно был бы другим. - person BalusC; 15.01.2014
comment
по состоянию на 2014 год существует еще более быстрый DBCP, чем BoneCP: github.com/brettwooldridge/HikariCP - person Chris; 29.04.2014

Пул соединений Tomcat можно использовать без Tomcat, это всего лишь пара файлов .jar, которые вы можете включить в любое программное обеспечение. Я успешно использовал пул соединений Tomcat с Resin и Jetty серверов приложений.

person Juha Syrjälä    schedule 29.03.2012
comment
Да, похоже, это правильно: ci.apache. org / projects / tomcat / tomcat7 / docs / - person Vladislav Rastrusny; 30.03.2012

Другой альтернативой является Vibur DBCP. Это новый пул параллельных соединений JDBC, основанный на динамических прокси-серверах Java. Он быстрый, имеет краткий исходный код, поддерживает параметр справедливости, кэширование операторов JDBC, ведение журнала длительных запросов SQL и многие другие функции.

Vibur DBCP доступен в центральном репозитории Maven, на веб-сайте показаны необходимые зависимости Maven, различные примеры конфигурации (с Spring, Hibernate 3.x / 4.x / 5.x) и все параметры конфигурации.

Vibur DBCP требует Java 1.7.

Отказ от ответственности: я являюсь автором Vibur DBCP.

person Simeon Malchev    schedule 01.11.2013

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

person Bhargav Modi    schedule 11.12.2014
comment
@FractalizeR, если это хороший ответ, чем он должен иметь отличный отклик с точки зрения голосов :) в любом случае я нашел его отличным для будущего использования, поэтому поделился им. - person Bhargav Modi; 12.12.2014