JBoss配置连接池

摘要:
在JBoss独立Xml配置文件<jboss/datasources/PjMysqlDS“pool name=”PjMyqlDS“enabled=”true“使用java context=”true“>连接url>characterEncoding=UTF-8<用户名>888888<

         什么是数据库连接池?

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

  

         JBoss实现了J2EE13个规范包含JNDI,JNDI採用树形结构管理我们的对象,tomcatJBoss等server对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和port号,就能够将这个服务传到client的本地.

 

        知识都是连通的,当我们可以熟练地从一个跳到还有一个就说明我们会学了.


免责声明:文章转载自《JBoss配置连接池》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇特征归一化的方法 线性归一化 零均值归一化关于ROS(Robot OS 机器人操作系统)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WPF: 实现带全选复选框的列表控件

    本文将说明如何创建一个带全选复选框的列表控件。其效果如下图:     这个控件是由一个复选框(CheckBox)与一个 ListView 组合而成。它的操作逻辑: 当选中“全选”时,列表中所有的项目都会被选中;反之,取消选中“全选”时,所有项都会被取消勾选。 在列表中选中部分数据项目时,“全选”框会呈现不确定状态(Indetermine)。...

[ZT]文本框(input)获取焦点(onfocus)时样式改变的实现方法

摘要: 许多重视用户体验的设计师都希望给文本框(input)加上获取焦点或者鼠标悬停时的样式切换效果。其实很简单,我们只需要获取页面上的文本框,加上onfocus事件或者其他对应的事件即可。本文介绍了如何在获取焦点时切换样式,明白原理后,实现其他效果就很简单了。许多重视用户体验的设计师都希望给文本框(input)加上获取焦点或者鼠标悬停时的样式切换效果。其...

Windows和Linux查看和更改mysql连接池

Windows: 查看: 进入mysql 输入:show variables like ‘%max_connections%’; 更改: 进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可。 Linux:...

bpc 数据处理

UJKT程序:UJO_SQE_TESTBADI:UJ_CUSTOM_LOGIC*XDIM_MEMBERSET Z_ACCOUNT = PL04 *START_BADI PL04_STEP1 WRITE = ON QUERY = ON *END_BADI *定义模型 types:begin of ty_planning, m...

golang mgo的mongo连接池设置:必须手动加上maxPoolSize

本司礼物系统使用了golang的 mongo库 mgo,中间踩了一些坑,总结下避免大家再踩坑 golang的mgo库说明里是说明了开启连接复用的,但观察实验发现,这并没有根本实现连接的控制,连接复用仅在有空闲连接时生效,高并发时无可用连接会不断创建新连接,所以最终还是需要程序员自行去限制最大连接才行。 废话不多说,开始上代码 GlobalMgoSessi...

K-th Number 线段树的区间第K大

http://poj.org/problem?id=2104 由于这题的时间限制不紧,所以用线段树水一水。 每个节点保存的是一个数组。 就是对应区间排好序的数组。 建树的时间复杂度需要nlogn 然后查询的时候,对于线段树覆盖了的区间,可以直接二分即可。 查询复杂度需要logn^2 所以复杂度需要mlognlogn 对于怎么确定是那个元素。可以二分一个值v...