0

请帮我,

我的问题是使用 JNDI 动态连接多个主机名。我正在使用 JNDI,

        InitialContext ic = new InitialContext();
        Context envCtx = (Context) ic.lookup("java:comp/env");
        javax.sql.DataSource ds = (javax.sql.DataSource) envCtx
                .lookup("jdbc/MYDB");
        con = ds.getConnection();

“jdbc/MYDB”是我的 JNDI 名称。它是在 Tomcat.Like 的 context.xml 文件中配置的

我有不同的主机地址,例如 1)abc.com 2)xyz.com…。abc.com 有一些用户,xyz.com 也有一些用户,当 abc.com 用户登录到我的应用程序时,“url”必须替换为 abc.com,当 xyz.com 用户登录到我的应用程序时,“url”必须替换为 xyz.com。

提前致谢……</p>

4

1 回答 1

0

您可以通过 InitialContext 属性设置 url

Properties props = new Properties();
props.setPropertyprops.setProperty(Context.PROVIDER_URL, url)
InitialContext ic = new InitialContext();

url 的外观取决于您尝试从中读取 DataSource 的服务器。如果是 Tomcat,你很难做到这一点,因为 Tomcat 不提供对 JNDI 资源的远程访问

于 2013-11-06T05:22:29.123 回答