我们的Java应用程序(在Jetty 7.5.4上运行的Web应用程序)使用底层数据库。有多个数据库用户,Java部分需要使用这些数据库用户访问数据库。我想知道是否有一个数据库连接池库让我们可以访问具有多个数据库用户的数据库。我知道有一堆dbcp库可以让我们使用单个数据库用户,但是找不到任何支持多个数据库用户的库。
感谢任何帮助, 谢谢, 婴儿车。
答案 0 :(得分:3)
Tomcat DBCP肯定支持多个用户(source code)。我不确定如何配置它,但它实现了DataSource.getConnection(username, password)
,这是所需的关键功能。
答案 1 :(得分:2)
除了上面的ngreen评论之外,还需要在数据源属性中将AlternateUsernameAllowed设置为true,但是仍然需要在属性上设置用户名/密码,因为在创建池时会使用
/**
* Returns true if the call {@link DataSource#getConnection(String, String) getConnection(username,password)} is
* allowed. This is used for when the pool is used by an application accessing multiple schemas.
* There is a performance impact turning this option on.
* @return true if {@link DataSource#getConnection(String, String) getConnection(username,password)} is honored, false if it is ignored.
*/
public boolean isAlternateUsernameAllowed();