JBoss 中配置数据源(datasource)连接池

什么是数据库连接池?

         配置连接池为的是解决效率问题.因为每创建一个连接都是很耗时的,有了连接池,就可以提前放一些连接进去.以后我们再用连接就去连接池里面取而不是每次都创建.但是我们知道连接池是有上限的,如果只允许我们放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;  
    }


参考:http://blog.csdn.net/rainbow702/article/details/50518928


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值