码迷,mamicode.com
首页 > 其他好文 > 详细

JBoss配置连接池

时间:2015-06-30 23:44:33      阅读:322      评论:0      收藏:0      [点我收藏+]

标签:

         什么是数据库连接池?

         配置连接池为的是解决效率问题.因为每创建一个连接都是很耗时的,有了连接池,就可以提前放一些连接进去.以后我们再用连接就去连接池里面取而不是每次都创建.但是我们知道连接池是有上限的,如果只允许我们放10,那么当这10个连接都被占用的时候,下一个用户再来请求连接将不能得到,只好等待,如果等的时间太长了就会抛出timeout的异常.使用完连接后要释放,否则会一直占着资源,当连接全部被占用而得不到释放时,就会出现错误...

  

         JBoss实现了J2EE13个规范包括JNDI,JNDI采用树形结构管理我们的对象,tomcatJBoss等服务器对JNDI做了实现,实现它之后可以管理对象.

 

        采用JNDI可以使我们的应用和实际实现解耦,,我们的应用中只管从连接池中取连接,而不用管使用的是哪个连接池实现,连接池的实现对我们是透明的.也就是说,我们使用连接池时,根本没有写dbcp(dbcp实现了DataSource接口),我们也不知道它是dbcp.我们只管使用连接不需要考虑连接是如何被创建的.对于我们来说这就像是一个工厂,隐藏了创建的细节.所以,这就是面向接口编程.我们拿到DataSource接口就OK.

 

 

         下面我们看看数据源是如何在JBoss注册的,我们又是如何从连接池取连接的?

         在JBossstandalone.xml配置文件<datasources></datasources>节点中配置数据源,代码如下:

 <datasource jta="true" jndi-name="java:jboss/datasources/PjMysqlDS" pool-name="PjMysqlDS" enabled="true" use-java-context="true">
          <connection-url>jdbc:mysql://192.168.24.118:3306/itoo_assess?useUnicode=true&characterEncoding=UTF-8</connection-url>
          <driver>mysql</driver>
          <pool>
                <prefill>false</prefill>
                <use-strict-min>false</use-strict-min>
                <flush-strategy>FailingConnectionOnly</flush-strategy>
          </pool>
          <security>
                <user-name>root</user-name>
                <password>888888</password>
          </security>
 </datasource>



public Connection getConnection{
		Connection conn=null;
		PreparedStatement pstmt=null;
	    try{
			Context ctx=new InitialContext();
			//通过JNDI查找DataSource
			DataSource ds=(DataSource)ctx.lookup("java:jboss/datasources/PjMysqlDS");
			conn=ds.getConnection();
	    }catch(Exception e){
	    	e.printStackTrace();
	    }
	    return conn;
	}


          JNDI还有一个典型的应用,即分布式对象的访问.EJB.  把对象注册到这棵树上,起个名,远程lookup这个服务,只要知道这个服务所处机器的IP和端口号,就可以将这个服务传到客户端的本地.

 

        知识都是连通的,当我们能够熟练地从一个跳到另一个就说明我们会学了.


版权声明:本文为博主原创文章,未经博主允许不得转载。

JBoss配置连接池

标签:

原文地址:http://blog.csdn.net/zhuanzhe117/article/details/46700975

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!