“javax.naming.Context”在 Java EE 开发中常用。通过在 context.xml 中使用给定的资源名称调用其查找函数,使用它来建立动态数据库连接非常方便。示例代码如下所示,其中“db_name”是您用来标识数据库资源的名称。
Context ctx = new InitialContext();
DataSource ds = ctx.lookup("java:comp/env/jdbc/db_name");
我关心的是使用相同上下文查找资源和使用不同上下文查找资源之间有什么区别。哪种方法更有意义或更合适?假设所有数据库资源都在同一个 context.xml 文件中定义。例如:
Context ctx = new InitialContext();
DataSource ds1 = ctx.lookup("java:comp/env/jdbc/db_name_ds1");
DataSource ds2 = ctx.lookup("java:comp/env/jdbc/db_name_ds2");
和
Context ctx_ds1 = new InitialContext();
Context ctx_ds2 = new InitialContext();
DataSource ds1 = ctx_ds1.lookup("java:comp/env/jdbc/db_name_ds1");
DataSource ds2 = ctx_ds2.lookup("java:comp/env/jdbc/db_name_ds2");
感谢您的分享。