通过jndi创建连接池(代码片段)

aikf aikf     2023-02-03     146

关键词:

配置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容器内,当程序需要的时候自行去容器内获取




数据源,连接池,连接,jndi

...进行回收。连接池中的连接对象是由数据源(DataSource)创建的。连接池(ConnectionPool)用来管理连接(Connection)对象。数据源:数据源(DataSource)用来连接数据库,创建连接(Connection)对象。 java.sql.DataSourc 查看详情

jndi学习总结:tomcat下使用c3p0数据库连接池配置jndi数据源(代码片段)

...apache的,所以它的JNDI数据源默认使用commons组件的DBCP连接池来配置。如果想使用c3p0来配置数据源,就需要修改<Resource>标签里的部分配置选项,操作如下:1.肯定是引入c3p0对应的jar包或者maven依赖啦,2.按... 查看详情

连接池数据源jndi三者间的关系及用法

...进行回收。连接池中的连接对象是由数据源(DataSource)创建的。连接池(ConnectionPool)用来管理连接(Connection)对象。数据源:数据源(DataSource)用来连接数据库,创建连接(Connection)对象。 java.sql.DataSourc 查看详情

连接池还是数据源?我应该把哪个放在JNDI中?

...连接池更有意义?例如,我可以简单地在javax.sql.DataSource创建:<ContextantiJARLocking="true"><Resourcen 查看详情

20210604redis连接池常用配置(代码片段)

RedisClient封装的大致步骤1)创建配置对象(通过连接池配置对象创建连接池,根据具体的场景配置连接池参数JedisPoolConfig),2)创建连接池对象(单例模式管理JedisPool,连接池中会有很多jedis实例&#... 查看详情

mybatis深入理解-----mybatis数据源与连接池(代码片段)

...常重要的一部分,这直接影响到框架的性能问题。本文将通过对MyBatis框架的数据源结构进行详尽的分析,并且深入解析MyBatis的连接池。本文首先会讲述MyBatis的数据源的分类,然后会介绍数据源是如何加载和使用的。紧接着将分... 查看详情

使用jndi连接数据库连接池问题,救命啊!!!!

1、环境:myeclipse9.0tomcat6.0MySQL5.52、在myeclipse里面创建了一个web项目,然后新建了一个JSP文件,代码如下<%@pagelanguage="java"import="java.sql.*,javax.sql.*,javax.naming.*"pageEncoding="GBK"%><%Stringpath=request.getContextPath()... 查看详情

5-java安全基础——jndi和rmi实现漏洞利用(代码片段)

...;网页,文件,连接池等等),方便开发者通过 查看详情

5-java安全基础——jndi和rmi实现漏洞利用(代码片段)

...;网页,文件,连接池等等),方便开发者通过 查看详情

java中建立数据库连接池,有哪几个步骤

...库连接池并使用。使用包括,当拿到数据库连接后,可以通过2种方式来使用,1.使用jstl的标签,2.封装成返回connection的方法。1.让tomcat容器启动创建数据库连接池:配置的地方很多,根据不同的需求配置在不同的位置,但原理就... 查看详情

自定义简单的mysql连接池(代码片段)

...还给连接池即可)。示例一(redisson连接池)通过rediss 查看详情

jndi基础

...J2EE服务器上保存着一个数据库的多个连接。每一个连接通过DataSource可以找到。DataSource被绑定在了JNDI树上(为每一个DataSource提供一个名字)客户端通过名称找到在JNDI树上绑定的DataSource,再由DataSource找到一个连接。如下图所 查看详情

tomcat连接池的配置(代码片段)

在eclipse下配置dbcp.使用jndi的方式配置tomcat数据源.将步骤总结一二:1:将Oracle的驱动拷贝到tomcat中的lib目录下2:配置web.xml文件(这一步尝试了一下不写也暂未出现异常.  原因未知...)<resource-ref><description>dbcp_drp</description>... 查看详情

数据库连接池的创建(代码片段)

德鲁伊连接池的创建                        //获取druid.properties配置文件的路径,(DruidUtils)是"druid 查看详情

jndi

...zyer.iteye.com/blog/759485 在DataSource中事先建立多个数据库连接,保存在数据库连接池中。当程序访问数据库时,只用从连接池中取空闲状态的数据库连接即可,访问结束,销毁资源,数据库连接重新回到连接池,这与每次去直接... 查看详情

14dbcp连接池(代码片段)

...池技术,来共享连接Connection。这样我们就不需要每次都创建连接、释放连接了,这些操作都交给了连接池。1.连接池概述用池来管理Connection,这样可以重复使用Connection。有了池,所以我们就不用自己来创建Connection 查看详情

数据库连接池(代码片段)

为什么要有数据库连接池?数据库的连接对象创建工作,比较消耗性能。什么是数据库连接池?一开始在内存中开辟一块空间(集合),一开始先往池子里面放置多个连接对象。后面需要连接的话,直接从池子里面去。不要去自... 查看详情

weblogic中查看连接池的使用情况

...用:首先还是在Myeclipse中新建一个java过程,当然了先是创建一个生成连接的类Conne 查看详情