如何进行与服务器无关的JNDI查找?

时间:2012-09-20 06:37:04

标签: jndi

我们必须重用一段具有一些jdbc调用的代码。现有代码在jar中,我们无法修改。他们正在为这样的数据库连接进行JNDI查找

InitialContext context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java:jdbc/testDB");

这在JBoss中运行良好,但是我们试图在Tomcat服务器中使用它,但它失败了。经过一段谷歌搜索,我发现对于tomcat我需要做这样的事情。

InitialContext context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java/comp/env/:jdbc/testDB");

我无法修改代码以使java / comp / env仅用于tomcat。是否有一个服务器独立的方式(通过一些配置文件)解决这个问题,以便我可以在不修改代码的情况下找到资源?

1 个答案:

答案 0 :(得分:0)

那段“某段代码”是 - 什么?如果是EJB, Servlet, JSP ..你可以进行注射:

@Resource(mappedName = "jdbc/testDB")
DataSource dataSource;