我正在尝试在 Tomcat7
容器中实现数据池。我的理解是我必须使用以下代码来检索数据连接
Context initContext;
DataSource datasource = null;
try {
initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
datasource = (DataSource) envContext.lookup("jdbc/bolsms");
} catch (NamingException ex) {
Logger.getLogger(ReceiveC2DMRegistration.class.getName()).log(Level.SEVERE, null, ex);
}
我的问题
对于 Context
我是否必须导入 javax.naming.context
或 org.apache.catalina.Context
以及对于 DataSource
我是否必须导入 javax.sql.DataSource
或 org.apache.tomcat.jdbc.pool.DataSource
?
最佳答案
针对特定于 Tomcat 的类/接口(interface)进行声明会使您的 Web 应用程序与 Tomcat 紧密耦合,从而使其无法在其他服务器上运行。你不想拥有那个。
尽可能始终针对标准 Java SE/EE 类/接口(interface)进行声明。通过这种方式,您的 Web 应用程序将可移植到所有服务器品牌(Tomcat、Glassfish、JBoss AS、Jetty 等)。
关于java - 导入 javax.naming.context 或 org.apache.catalina.Context?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11509146/