我必须使用JNDI动态连接多个主机名

时间:2013-11-06 04:55:45

标签: java jdbc

请帮助我,

我的问题是使用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用户登录我的应用程序时,必须用abc.com替换“url”,当xyz.com用户登录我的应用程序时,必须用xyz.com替换“url”。

先谢谢......

1 个答案:

答案 0 :(得分:0)

您可以通过InitialContext属性设置网址

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

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