JNDI方式创建数据源
来源:互联网 发布:sql怎么删除置顶列 编辑:程序博客网 时间:2024/05/16 07:13
WEB环境:tomcat6
在tomcat6下的conf/下找到server.xml 文件
修改如下:
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
<Resource name="jdbc/ora9204"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="100"
driverClassName="oracle.jdbc.driver.OracleDriver"
username="clevergirl"
password="clevergirl"
url="jdbc:oracle:thin:@192.168.128.129:1521:ora9204"
defaultAutoCommit="true"
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true"
/>
</GlobalNamingResources>
注意几个红色字的配置
在项目目录下找到\src\WEB-Root\META-INF目录,修改或新增context.xml 内容如下
<?xml version="1.0" encoding="utf-8"?>
<Context path="/sync" privileged="true" antiResourceLocking="false" antiJARLocking="false" reloadable="true">
<ResourceLink name="jdbc/mysync" global="jdbc/ora9204" type="javax.sql.DataSource" />
</Context>
这个会在项目发布时自动发布到tomcat的配置目录下
默认发布位置是:tomcat\conf\Catalina\localhost\
ResourceLink的作用相当于你给数据库链接定义了一个别名,程序里应该引用这个别名
程序调用如下:
package sync.com.db;
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
/**
* 获取数据库连接
*/
public class DBConnection {
public Connection conn = null;
static DataSource ds = null;
static {
try {
Context ctx = new InitialContext();
ds = (DataSource)ctx.lookup("java:comp/env/jdbc/mysync"); //数据库别名
} catch (NamingException e) {
e.printStackTrace();
}
}
protected Connection getConnection(){
if(conn == null)
{
try {
conn = ds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
}
return conn;
}
/**
* 关闭数据库连接
*
* @param connect
*/
public void closeConnection(){
if(conn != null) {
try {
conn.close();
} catch(Exception e) {
e.printStackTrace();
} finally {
conn = null;
}
}
}
}
感谢朋友的帮助,方法不是偶想的,只是偶写的
- JNDI方式创建数据源
- spring获取JNDI,创建数据源
- Tomcat配置数据源(JNDI方式)
- JNDI配置数据源dbcp方式,配置文件加密
- Tomcat配置数据源(JNDI方式)
- 一个完整Structs2例子(JNDI创建数据源)
- 在Weblogic上创建JNDI数据源
- jndi数据源
- jndi 数据源
- JNDI数据源
- 数据源-JNDI
- 创建数据源两种方式
- 在Tomcat配置JNDI数据源的三种方式
- 在Tomcat配置JNDI数据源的三种方式
- 在Tomcat配置JNDI数据源的三种方式
- 在Tomcat配置JNDI数据源的三种方式
- JNDI+Tomcat配置数据源的两种方式
- 在Tomcat配置JNDI数据源的三种方式
- 用JSP实现文件下载
- Tomcat:IOException while loading persisted sessions: java.io.EOFException解决手记
- 配置cvsanaly2
- 远离家乡的程序员困惑
- 背包问题
- JNDI方式创建数据源
- Unix Fork()函数
- 浏览器中,JS 带来的reflow 和 repaint
- 怎样从一个DLL中导出一个C++类
- ip地址转换函数
- HDFS中的文件open操作
- CentOS6挂载NTFS分区
- windows xp 自动弹出outlook 窗口的问题
- http://210.45.192.243/jyzd/display/details.aspx?id=5340