0

我们必须重用一段有一些 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");

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

4

1 回答 1

0

那个“特定的代码”是 - 什么?如果是EJB, Servlet, JSP.. 您可以执行注入:

@Resource(mappedName = "jdbc/testDB")
DataSource dataSource;
于 2012-09-20T07:01:15.200 回答