2014-06-23 28 views
1

我正在为多租户应用奠定基础。我们在数据库方面的策略是共享一些模式(属性,执行和其他非租户数据),并让每个租户都有自己的模式。 (这不是关于该决定的优点的问题)。BoneCP,其他连接池和切换模式的能力

我正在寻找一个连接池,它像Oracles Universal Connection(UCP)池一样允许我在我检索的连接上设置模式。为了讨论,我们假设我们将所有模式存储在一个数据库集群中,并且可以通过相同的用户上下文访问。我不想使用Oracle的UCP。它有我想要避免的并发问题,我不使用Oracle(而是PostgreSQL)。

理想情况下,我想说'Pool.getConnection(forSchema);'。

我可以在BoneCP之前构建一个包装来实现这一点,但我希望避免这种情况。

BoneCP目前被我选中,因为性能是这项工作的特别关注点,所以目前我仍然愿意改变这个决定,如果其他连接池本身允许这种行为。

如果我能用BoneCP做到这一点,那就更好了 - 请照亮我。

预先感谢您。

+0

今天看着HikariCP,它重置了默认的目录,这是我需要完成的工作的一半。它是一个简单的事情来包装池,并确保执行任何语句之前有一个声明来设置目录 - 如果尚未在所需的目录中。 – cmdematos

回答

0

我放弃了BoneCP for HikariCP。满足所有需求。

+0

可否请您在这里解释解决方案。我正在使用postgres并面临类似的问题,并希望避免数据库往返只是为了在连接上设置模式。 – TeeJ