Я закладываю основу для многопользовательского приложения. Наша стратегия на стороне базы данных заключается в том, чтобы некоторые схемы были общими (свойства, разрешения и другие данные, не относящиеся к арендатору), и каждый арендатор имел свою собственную схему. (Это не вопрос по существу этого решения).
Я ищу пул соединений, который, как и пул универсальных соединений Oracle (UCP), позволяет мне установить схему для соединения, которое я извлекаю. Ради этого обсуждения давайте предположим, что все схемы хранятся в одном кластере базы данных и доступны для одного и того же пользовательского контекста. Я не хочу использовать Oracle UCP. У него есть проблемы с параллелизмом, которых я хочу избежать, и я не использую Oracle (а вместо этого использую PostgreSQL).
В идеале я хочу сказать «Pool.getConnection(forSchema);».
Я могу создать оболочку перед BoneCP, чтобы добиться этого, но я надеюсь избежать этого.
BoneCP в настоящее время выбран мной, потому что производительность является особой проблемой в этом начинании, поэтому в настоящее время я все еще готов изменить это решение, если какой-либо другой пул соединений изначально допускает такое поведение.
Если я смогу добиться этого с помощью BoneCP, тем лучше — пожалуйста, просветите меня.
Заранее спасибо.