Tomcat 配置连接池

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");


参考资料:

转载于:https://www.cnblogs.com/linkworld/p/7625348.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值