Я оценил UCP 11.2.0.1 в качестве замены для нашего прежнего пула соединений , и я не могу рекомендовать его :
- it не полностью поддерживает jdk 6 / ojdbc6.jar. Например, использование кэширования операторов и поддержки jmx не работает с Java 6 и выдает исключения.
- нет внутреннего кэша операторов - он опирается на кэш операторов драйвера jdbc (
setPoolable()
)
- Я отправил обе проблемы в oracle, они подтвердили это и, вероятно, исправят, когда выйдет oracle 12.0. Но даже это не точно.
- Слишком мало релизов (2 релиза за 3 года), слишком мало поддержки сообщества.
- Не с открытым исходным кодом
- Едва расширяемый. Только несколько обратных вызовов с ужасным дизайном интерфейса.
Пример: Вы хотите получать уведомление, когда Соединение превышает его TTL? Подготовьтесь к обёртке DataSource и массовому использованию внутренних / проприетарных UCP API. В официальной документации (последнее обновление: 2008) ничего не говорится о том, как этого добиться.
- Толстый дизайн (почти банка 0,5 МБ) - многие классы с похожими именами / функциями (например, есть
PoolDataSource
и ConnectionPool
- оба связаны, но вызываются по-разному и дают немного разная функциональность.)
- java.util.logging только
ОБНОВЛЕНИЕ 1 (апрель 2014 г.) :
Хотя и немного не по теме: в результате моей оценки я решил перейти на новый tomcat jdbc-pool - и он почти год отлично работает в нескольких производственных системах. Он очень хорошо спроектирован, регулярно обновляется, расширяется, и команда Apache Tomcat делает хорошую работу, отвечая на вопросы / исправляя проблемы .
ОБНОВЛЕНИЕ 2 (июль 2016 г.) :
Теперь я настоятельно рекомендую HikariCP , который в настоящее время я предпочитаю всем остальным пулам соединений.
Его архитектура, фокус на правильности и производительности просто потрясающая.