我在Single Application Server(Jboss 4.2.3
)中有2个数据源的JNDI设置。
如何确定哪个用户请求来自哪个数据库连接?如何根据用户请求设置Db连接。我需要为用户提供一次DB连接。 即我想在我的应用程序中使用动态数据源。我使用纯JDBC连接
答案 0 :(得分:0)
您正在构建多租户应用程序。
request.getRemoteUser()
。用它来查找映射表中的数据源名称。在您的应用程序中,您可以按名称查找数据源:
final DataSource ds = (DataSource) ic.lookup("java:/jdbc/x1");
final Connection conn = ds.getConnection();
try {
// Do something with connection
} finally {
conn.close();
}
所以在你的情况下,你有两个名字,如java:/jdbc/x1
和java:/jdbc/x2
。
您可以在定义数据源的同一位置定义JNDI名称。