1. Tomcat 配置 JNDI 资源

  • JNDI(Java Naming and Directory Interface), Java 命名和目录接口;
  • JNDI 作用: 在服务器上配置资源, 然后通过统一的方式来获取配置的资源.
  • 这里需要配置的资源是连接池.
// 配置位置: JavaWeb 项目的 META-INF 目录下新建一个 "context.xml"
// 配置 JNDI 资源需要到 <Context> 元素中配置 <Resource> 子元素
// name: 指定资源的名称, 这个名称可以随便给, 在获取资源时需要这个名称;
// factory: 用来创建资源的工厂, 这个值基本上是固定的, 不用修改;
// type: 资源的类型, 配置连接池时, 需要给出连接池的类型;
// bar: 表示资源的属性,对于 DBCP 连接池而言, 因为它没有 bar 属性,
// 而应该配置 url, username 等属性. <Context>
<Resource name="myc3p0"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
factory="org.apache.naming.factory.BeanFactory"
jdbcUrl="jdbc:mysql://localhost:3306/mydb1"
classDriver="com.mysql.jdbc.Driver";
user="root";
password="root"
/>
</Context> // 备注: 也可在 <CATALINA_HOME>/conf/server.xml 文件中的对应 <HOST> 元素中配置以上代码,
// 这是全局配置,可供 Tomcat 服务器上的多个 Web 应用使用.

2. 获取资源

// 在 JavaWeb 应用中要是用 JNDI 资源, 必须在 WEB-INF 中的 web.xml 中配置对该 JNDI 资源的
// 引用 <resource-ref> 元素 <web-app>
<resource-ref>
<description>c3p0 Connection</description>
<res-ref-name>myc3p0</res-ref-name>
<res-type>com.mchange.v2.c3p0.ComboPooledDataSource</res-type>
</resource-ref>
</web-app> // web 项目中使用数据源 // 创建 JNDI 上下文对象
Context initCtx = new InitialContext();
// 查询入口 (格式固定)
Context envCtx = (Context)initCtx.lookup("java:comp/env");
// 再进行二次查询, 找到我们的资源
// 使用的名称为 <Resource> 元素的 name
DataSource dataSource = (DataSource) envCtx.lookup("myc3p0"); // 也可以使用下列方式获取资源:
// DataSource dataSource = (DataSource) initCtx.lookup("java:comp/env/myc3p0");

参考资料:

Tomcat 配置连接池的更多相关文章

  1. Tomcat配置连接池

    Tomcat配置DBCP连接池 配置tomcat服务器的时候,使用到jndi;通过Context配置文件实现配置池对象,通过new initialConext()对象的lookup()获取到数据池对象 ...

  2. Tomcat配置连接池的java实现

    1.准备 JNDI(Java Naming and Directory Interface),Java命名和目录接口.JNDI的作用就是:在服务器上配置资源,然后通过统一的方式来获取配置的资源.我们这 ...

  3. Tomcat上配置连接池{ connect error=Name [jdbc/OracleDB] is not bound in this Context. Unable to find [jdbc]}

    . 在学习期间,从未实践过在tomcat上配置连接池,今天终于实现一次,在tomcat玩了一把,不知道你是否现在有和我一样的困境.废话少说直接上代码   java  public static Con ...

  4. Tomcat+Oracle配置连接池的例子

    我这有一个Tomcat+Oracle连接池的例子,放上来和大家分享一下. Tomcat +Oracle  连接池配置   Author: Kenneth.Leaf@GalaxySoft Date: / ...

  5. 转!数据库连接池概念、种类、配置(DBCP\C3P0\JndI与Tomact配置连接池)

    数据库连接池概念.种类.配置(DBCP\C3P0\JndI与Tomact配置连接池) 一.DBCP 连接:DBCP 连接池是 Apache 软件基金组织下的一个开源连接池实现. 需要的 java 包c ...

  6. spring boot(10)-tomcat jdbc连接池

    默认连接池 tomcat jdbc是从tomcat7开始推出的一个连接池,相比老的dbcp连接池要优秀很多.spring boot将tomcat jdbc作为默认的连接池,只要在pom.xml中引入了 ...

  7. TOMCAT配置数据库连接池

      迁移时间--2017年7月9日15:27:02Author:Marydon TOMCAT配置数据库连接池 说明: a.数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数 ...

  8. Spring boot (12) tomcat jdbc连接池

    默认连接池 tomcat jdbc是从tomcat7开始推出的一个连接池,相比老的dbcp连接池要优秀很多,spring boot将tomcat jdbc作为默认的连接池,只要在pom.xml中引入了 ...

  9. JBoss配置连接池

    什么是数据库连接池? 配置连接池为的是解决效率问题.由于每创建一个连接都是非常耗时的,有了连接池,就能够提前放一些连接进去.以后我们再用连接就去连接池里面取而不是每次都创建.可是我们知道连接池是有上限 ...

随机推荐

  1. Python 中实现装饰器时使用 @functools.wraps 的理由

    Python 中使用装饰器对在运行期对函数进行一些外部功能的扩展.但是在使用过程中,由于装饰器的加入导致解释器认为函数本身发生了改变,在某些情况下——比如测试时——会导致一些问题.Python 通过  ...

  2. Jpa调用存储过程及参数

    public List<Object> findAllEntityListBySearch(Long inputInfoId, int flag) throws Exception { L ...

  3. C# t4模版引擎笔记 引入外部dll

    <#@ assembly name="D:\Documents\Downloads\Util\Util\bin\Debug\Util.dll" #> <#@ im ...

  4. jQuery框架源码解读

    1.jQuery 1.9.1 parseJSON: function( data ) { // Attempt to parse using the native JSON parser first ...

  5. Arthas安装问题

    1. 下载安装 方式一: 安装Arthas: curl -L https://alibaba.github.io/arthas/install.sh | sh 启动Arthas: ./as.sh 报t ...

  6. [ci] 基于1 上文实现拉取代码后能自动触发sonar-runner实现代码扫描评测,job1完成

    基于1 上文实现拉取代码后能自动触发sonar-runner实现代码扫描评测,job1完成   添加sonar插件 SonarQube Plugin   配置: 系统设置à告知jenkins,sona ...

  7. 红茶一杯话Binder(传输机制篇_上)

    红茶一杯话Binder (传输机制篇_上) 侯 亮 1 Binder是如何做到精确打击的? 我们先问一个问题,binder机制到底是如何从代理对象找到其对应的binder实体呢?难道它有某种制导装置吗 ...

  8. LeetCode532. K-diff Pairs in an Array

    Description Given an array of integers and an integer k, you need to find the number of unique k-dif ...

  9. mySQL 开启事件存储过程

    怎样在Navicat中设置,是数据库按照记录中的日期更新状态字段 其实这个很常用,比如你网站里的某条记录的日期——比如说数据库中某条活动记录的审核日期字段已经过期,亦即当前时间已经超过审核日期,那么定 ...

  10. 【Mac安装,ATX基于uiautomator2】之安装步骤

    Mac系统下安装uiaotumator2: 参考网址:<uiautomator2>以及参考github官方文档 注意:下面有坑,如果你没有下面的问题请直接跳转到 1.安装uiaotumat ...