通过JNDI创建连接池

配置Context的五种方式

1,由服务器创建的连接池一定要将mysql驱动文件放在tomcat的lib文件夹内
2,在META-INF文件夹里新建context.xml(发布web应用的时候会在tomcat/conf/Catalina/localhost生成配置文件)

 1 <Context ...>
 2   ...
 3   <Resource name="jdbc/EmployeeDB"
 4             auth="Container"
 5             type="javax.sql.DataSource"
 6             username="root"
 7             password="root"
 8             driverClassName="com.mysql.jdbc.Driver"
 9             url="jdbc:mysql://localhost:3306/mydata"
10             maxTotal="8"
11             maxIdle="4"/>
12 </Context>

3,编写程序获取数据源

// 初始化JNDI容器
Context initCtx = new InitialContext();
// 根据名称获取JNDI容器
Context envCtx = (Context) initCtx.lookup("java:comp/env");
// 获取数据源
DataSource ds = (DataSource)
  envCtx.lookup("jdbc/EmployeeDB");
// 获取链接
Connection conn = ds.getConnection();
... use this connection to access the database ...
conn.close();

服务器启动的时候会创建JNDI容器,将连接池保存到容器里面,并把连接池绑定到一个名称上面,如上面的"jdbc/EmployeeDB"
扩展:服务器在运行的时候会创建一些对象,常见的方式是在调用方法的时候传入,如Request,Response,在调用Servlet的时候传入方法
服务器可能会把创建的对象放在JNDI容器内,当程序需要的时候自行去容器内获取

原文地址:https://www.cnblogs.com/aikf/p/10119536.html

时间: 2024-12-23 23:10:59

通过JNDI创建连接池的相关文章

spring创建连接池的几种方式

spring使用连接池有很多种方式,jdbc(不使用连接池),c3p0,dbcp,jndi,下面将分别贴代码介绍这几种:  1.jdbc方式 使用的是DriverManagerDataSource,DriverManagerDataSource建立连接是只要有连接就新建一个connection,  根本没有连接池的作用 <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManag

使用代理创建连接池 proxyPool

配置文件properties 1 url=jdbc:mysql://127.0.0.1:3306/mine?characterEncoding=UTF-8 2 user=root 3 password=1234 4 driverClass=com.mysql.jdbc.Driver 主要代码 1 package JDBCUtils; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.lang.r

Python 使用 PyMysql、DBUtils 创建连接池提升性能

Python 使用 PyMysql.DBUtils 创建连接池提升性能 Python 编程中可以使用 PyMysql 进行数据库的连接及诸如查询/插入/更新等操作,但是每次连接 MySQL 数据库请求时,都是独立的去请求访问,相当浪费资源,而且访问数量达到一定数量时,对 mysql 的性能会产生较大的影响.因此,实际使用中,通常会使用数据库的连接池技术,来访问数据库达到资源复用的目的. 解决方案:DBUtils DBUtils 是一套 Python 数据库连接池包,并允许对非线程安全的数据库接口

nodejs mysql 创建连接池

用Nodejs连接MySQL 从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎.chrome浏览器就基于V8,同时打开20-30个网页都很流畅.Nodejs标准的web开发框架Express,可以帮助我们迅速建立web站点,比起PHP的开发效率更高,而且学习曲线更低.非常适合小型网站,个性化网站,我们自己的Geek网站!! 关于作者 张丹(Conan), 程序员

Java创建连接池连接不同数据库

在一个应用里面,可能涉及到连接多个不同数据库进行操作,而每次连接写不同的实现会很麻烦.前面已经会了用JDBC连接数据库,那么利用反射和工厂模式,可以实现连接不同的数据库,这样处理起来将会很方便.同时建造数据库连接池,处理多个业务数据处理. 那么具体怎么实现呢,下面一起来看一下: 整体结构如下: 第一步,先处理连接不同数据库 1.首先,将数据库配置信息创建一个公用类:JdbcUrl.java 主数据库可以用默认的构造方法,如果是连接其他库,则通过传递参数的方式来处理. 数据库参数有如下几个: 1

Spring+Tomcat的JNDI数据源连接池简单配置

使用Tomcat JNDI数据源与Spring一起使用步骤如下: 1.将数据库驱动复制到Tomcat的lib文件夹下面 2.配置Tomcat的server.xml配置文件,在GlobalNamingResources节点下面添加一个Resource节点,如下: <GlobalNamingResources> <!-- Editable user database that can also be used by UserDatabaseRealm to authenticate user

tomcat创建连接池及helpDB类连接方法的书写

1.tomcat中sever配置 <Resource auth="Container" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" initialSize="10" jdbcInterceptors="org.apach

CP30 ---DataSource连接池的创建过程

1.参看CP30文档quickStart 如下具体创建步骤 1 public DataSource getDs() throws Exception { 2 //创建连接池对象 3 ComboPooledDataSource cpds = new ComboPooledDataSource(); 4 cpds.setDriverClass("com.mysql.jdbc.Driver"); 5 cpds.setJdbcUrl("jdbc:mysql://localhost:3

JAVA中事物以及连接池

一.事物 什么是事物? 事务,一般是指要做的或所做的事情.在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元.这些单元要么全都成功,要么全都不成功. 做一件事情,这个一件事情中有多个组成单元,这个多个组成单元要不同时成功,要不同时失败.A账户转给B账户钱,将A账户转出钱的操作与B账户转入钱的操作绑定到一个事务中,要不这两个动作同时成功,代表这次转账成功,要不就两个动作同时失败,代表这次转账失败. 事务在开发中的作用 下面来举例说明什么是事务,如下所示: 现实生活中的银行转账业务