Tomcat 数据源配置
有关 Tomcat 数据源的配置,在网上能找到相当多的资料,一般是两种方法:
- 全局配置,需要修改 Tomcat 的配置文件 {tomcat home}/conf/server.xml
- 局部配置,对 web app 进行单独设置
对于1,鄙人认为不爽,要是有多个 app,会相互影响,不尝试。下面记录局部配置的方法:
a. 配置文件。在 web app 的 META-INF 文件夹下添加一名为 context.xml 的 XML 文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable="true" crossContext="true">
<Resource
name="jdbc/iridium"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@172.168.1.104:1521:IRIDIUM"
maxActive="50"
maxldle="10"
maxWait="5000"
username="scott"
password="hello" />
</Context>
b. 驱动程序。这个有点奇怪,JDBC 驱动程序的 jar 包必须放到 {tomcat home}/lib 中,否则找不到驱动。{web app}/WEB-INF/lib 中无需放驱动包。
c. 代码中获取连接。需要 import javax.sql.* and javax.naming.*
public static Connection getConnection2() {
Connection conn = null;
Context context;
try {
context = new InitialContext();
// 获得数据源
DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/iridium");
// 获取连接
conn = ds.getConnection();
System.out.println("It's me!");
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
后记:鸣谢 Google, JavaEye 是你们让我找到的,呵呵。