博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA_连接池、DataSource、JNDI
阅读量:6709 次
发布时间:2019-06-25

本文共 1566 字,大约阅读时间需要 5 分钟。

1、连接池

   Connection的取得和开放是代价比较高的处理,解决这个问题的方法是连接池。
   连接池就是事先取得一定数量的Connection,程序执行处理的时候不是新建Connection,而是取得预先准备好的Connection的使用权。
 
2、DataSource
   提供连接池机能的技术叫DataSource。   Javax.sql.DataSource
   一般web服务器会提供。比如Tomcat5.5。
   DataSource可以通过new来取得,但通常是通过 JNDI 用 lookup 取得。
 
3、JNDI (Java Naming and Directory Interface)
   Java 命名和目录服务接口(Java Naming and Directory Interface,JNDI)。
   命名服务: 可以类比为Session属性的Map的高级版。实现指定名字的对象的,取得和登录。一般Web服务器会提供。
   目录服务: 和命名服务类似,但是对象的管理是层次性的。
 
   在命名服务里登录的对象,可以用lookup()取得。
 
4、基于Tomcat利用DataSource
1)JDBC驱动配置
   直接利用JDBC编程的话,JDBC驱动放在Web app的WEB-INF/lib下就可以了。
   利用DataSource的话,JDBC需要放在app服务器的类目录下:
         <Tomcat安装目录>/lib
 
2)修改context.xml文件
   在Tomcat登录DataSource有很多办法,在context.xml里追加<Resource>是最简单的。
   文件: <Tomcat安装目录>/conf/Catalina/localhost/<ProjectName.xml>
   内容: 追加<Resource>要素
 
   Resource要素
      - name,名字。用这个名字取得DataResource
      - type,类名。一般javax.sql.DataSource
      - auth,认证种类,Application或Container。Application的话,需要写认证代码。
      - username
      - password
      - driverClassName,JDBC驱动的类名
      - url,JDBC的URL
 
   例如:
   <Context>
       、、、、、、
       <Resource name="jdbc/myds" auth="Container"
           type="javax.sql.DataSource"
           username="sa" password=""
           driverClassName="org.hsqldb.jdbcDriver"
           url="jdbc:hsqldb:hsql://localhost"/>
       、、、、、、
   </Context>
 
3)使用DataSource
   例子:
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       
        **********
 
        try{
               InitialContext ctx = new InitialContext();
               DataSource ds = (DataSource)ctx.lookup("java:comp/env/名字");
               Connection con = ds.getConnection();
 
               *******
 
        }catch(Exception e){
               throw new ServletException(e);
        }
    }

转载于:https://www.cnblogs.com/nliao/p/3191201.html

你可能感兴趣的文章
数据监听进阶
查看>>
HTML5之Canvas绘图——图像切割函数clip
查看>>
五、箭头函数
查看>>
阿里Android开发规范:文件与数据库
查看>>
Android组件化专题 - 路由框架原理
查看>>
JQuery筛选器全系列介绍
查看>>
异步解决方案一:promise
查看>>
Clocksource tsc unstable
查看>>
两个sed小技巧:sed "/变量/变量/"
查看>>
ArrayAdapter的简单应用实例(初级入门引导)
查看>>
这大概是今年介绍云原生最清晰明了的文章!
查看>>
COGS314. [NOI2004] 郁闷的出纳员
查看>>
angular 7报错
查看>>
svn 删除svn项目命令
查看>>
linux知识点集锦
查看>>
任务与函数
查看>>
SCRUM MASTER检查单
查看>>
13.Zookeeper的java客户端API使用方法
查看>>
《大话设计模式》读书笔记-第9章 原型模式
查看>>
排序五:快速排序
查看>>