我在 Single Application Server ( Jboss 4.2.3
) 中有 2 个数据源的 JNDI 设置。
如何识别哪个用户请求命中来自哪个数据库连接?如何根据用户请求设置 Db 连接。我需要为用户提供一次数据库连接。即我想在我的应用程序中使用动态数据源。我使用纯 JDBC 连接
我在 Single Application Server ( Jboss 4.2.3
) 中有 2 个数据源的 JNDI 设置。
如何识别哪个用户请求命中来自哪个数据库连接?如何根据用户请求设置 Db 连接。我需要为用户提供一次数据库连接。即我想在我的应用程序中使用动态数据源。我使用纯 JDBC 连接
您正在构建一个多租户应用程序。
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
and java:/jdbc/x2
。
您在定义数据源的同一位置定义 JNDI 名称。