JBoss配置连接池
什么是数据库连接池?
配置连接池为的是解决效率问题.由于每创建一个连接都是非常耗时的,有了连接池,就能够提前放一些连接进去.以后我们再用连接就去连接池里面取而不是每次都创建.可是我们知道连接池是有上限的,假设仅仅同意我们放10个,那么当这10个连接都被占用的时候,下一个用户再来请求连接将不能得到,仅仅好等待,假设等的时间太长了就会抛出timeout的异常.使用完连接后要释放,否则会一直占着资源,当连接所有被占用而得不到释放时,就会出现错误...
JBoss实现了J2EE的13个规范包含JNDI,JNDI採用树形结构管理我们的对象,tomcat和JBoss等server对JNDI做了实现,实现它之后能够管理对象.
採用JNDI能够使我们的应用和实际实现解耦,如,我们的应用中仅仅管从连接池中取连接,而不用管使用的是哪个连接池实现,连接池的实现对我们是透明的.也就是说,我们使用连接池时,根本没有写dbcp(dbcp实现了DataSource接口),我们也不知道它是dbcp.我们仅仅管使用连接不须要考虑连接是怎样被创建的.对于我们来说这就像是一个工厂,隐藏了创建的细节.所以,这就是面向接口编程.我们拿到DataSource接口就OK了.
以下我们看看数据源是怎样在JBoss注冊的,我们又是怎样从连接池取连接的?
在JBoss的standalone.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配置连接池的更多相关文章
- 项目经验——jboss 配置数据库连接池
数据库的连接和关闭是非常消耗系统资源的,在多层结构的应用环境中,这种资源消耗又直接的反映到系统性能上来.在项目实际应用中,最常用的解决方案便是建立数据库连接池. 一.数据库连接池基本原理 当程序启动时 ...
- 转!数据库连接池概念、种类、配置(DBCP\C3P0\JndI与Tomact配置连接池)
数据库连接池概念.种类.配置(DBCP\C3P0\JndI与Tomact配置连接池) 一.DBCP 连接:DBCP 连接池是 Apache 软件基金组织下的一个开源连接池实现. 需要的 java 包c ...
- Tomcat上配置连接池{ connect error=Name [jdbc/OracleDB] is not bound in this Context. Unable to find [jdbc]}
. 在学习期间,从未实践过在tomcat上配置连接池,今天终于实现一次,在tomcat玩了一把,不知道你是否现在有和我一样的困境.废话少说直接上代码 java public static Con ...
- springboot2.0配置连接池(hikari、druid)
springboot2.0配置连接池(hikari.druid) 原文链接:https://www.cnblogs.com/blog5277/p/10660689.html 原文作者:博客园--曲高终 ...
- Spring配置连接池
---------------------siwuxie095 Spring 配置连接池 1.Spring 配置内置连接 ...
- spring配置连接池和dao使用jdbcTemplate
1 spring配置c3p0连接池 第一步 导入jar包 第二步 创建spring配置文件,配置连接池 (1)把代码中的实现在配置文件中实现 2 dao使用jdbcTemplate (1) 创建ser ...
- Tomcat 配置连接池
1. Tomcat 配置 JNDI 资源 JNDI(Java Naming and Directory Interface), Java 命名和目录接口; JNDI 作用: 在服务器上配置资源, 然后 ...
- Tomcat配置连接池
Tomcat配置DBCP连接池 配置tomcat服务器的时候,使用到jndi;通过Context配置文件实现配置池对象,通过new initialConext()对象的lookup()获取到数据池对象 ...
- [转帖]springboot2.0配置连接池(hikari、druid)
springboot2.0配置连接池(hikari.druid) 原文链接:https://www.cnblogs.com/blog5277/p/10660689.html 原文作者:博客园--曲高终 ...
随机推荐
- 图文介绍MyEclipse (2015) 中创建简单的Maven项目的步骤(用于生成可运行jar文件)
利用MyEclipse的引导,能够非常方便的创建简单的.用于生成可运行jar文件的Maven项目: (原创文章,转载请注明转自Clement-Xu的博客:http://blog.csdn.net/cl ...
- FZOJ--2221-- RunningMan(水题)
Problem 2221 RunningMan Accept: 4 Submit: 10 Time Limit: 1000 mSec Memory Limit : 32768 KB Pro ...
- zzulioj--1775-- 和尚特烦恼1——是不是素数(素数水题)
1775: 和尚特烦恼1--是不是素数 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 563 Solved: 193 SubmitStatusWeb ...
- 1.Windows7下安装与破解IntelliJ IDEA2017
转自:https://www.cnblogs.com/justuntil/p/7245170.html IDEA 全称 IntelliJ IDEA,是Java语言开发的集成环境,IntelliJ在业界 ...
- AppManager类,管理Activity和App
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); / ...
- windows如何批量添加路由表
我大约有2000条路由,需要批量导入,如何才能快速导入,快速删除呢.如果直接用命令添加路由表的话感觉很慢. windows如何批量添加路由表 >> csharp这个答案描述的挺清楚的:ht ...
- ACM-ICPC 2016 Qingdao Preliminary Contest
A I Count Two Three I will show you the most popular board game in the Shanghai Ingress Resistance T ...
- FlatternMap和Map的区别
flattenMap使用步骤: 1.传入一个block,block类型是返回值RACStream,参数value 2.参数value就是源信号的内容,拿到源信号的内容做处理 3 ...
- WebRTC Native APIs
WebRTC Native APIs The WebRTC Native APIs implementation is based on W3C’s WebRTC 1.0: Real-time Com ...
- 冒泡排序php
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <b ...