连接池问题解决了java编程中原始的连接数据库时候只能供一个连接使用的问题!
但在myeclipse6.0和tomcat6.0组合编程中,有部分问题和5.5的tomcat不同。这里就不说区别了,就说说怎么配置tomcat6.0下的连接池!
在加载项目后的tomcat下面的conf文件夹中的context.xml中配置如下代码!就算是配置好了,当然你的密码可能不是sa,那就根据你自己的sqlserver来设置!
<?xml version='1.0' encoding='utf-8'?>
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="名字" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" username="sa"
password="sa"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=数据库名字" />
</Context>
配置完成后,如何在程序中调用这个外部文件呢?
我们可以看到,context.xml的<WatchedResource></WatchedResource>节点中描述了引用方式——项目中的WEB—INF、web.xml。
那也就是说,要在web.xml下对数据源进行引用。
ok,那就看看下面在web.xml下是如何引用的呢?
<resource-ref>
<description>E-Books DataSource</description>
<res-ref-name>books</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
加上上面的代码就ok了,要注意的是,<description></description>是对引用的描述,中间的内容可以随便写,但是,下面的name属性要和tomcat下的name一致,type和auth也是如此。否则在运行项目的时候会报Unknown Source错误的。
同时,所配置的连接池还不能在java类中引用,只能在jsp和servlet中引用。
配置玩了,还要获得连接Connection,跟原始的一样,写个连接类,但不同的是,现在你是十分的轻松!代码如下:
public Connection getConn() {
Connection connection;
Context ic;
try {
ic = new InitialContext();
Context context = (Context) ic.lookup("java:comp/env");
DataSource source = (DataSource) context.lookup("books");
// DataSource sourceone =
// (DataSource)ic.lookup("java:/comp/env/books");
try {
connection = source.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
} catch (NamingException e) {
e.printStackTrace();
}
return connection;
}
该方法中的Context接口,通过new InitialContext来产生对象!
方法中// DataSource sourceone =
// (DataSource)ic.lookup("java:/comp/env/books");实现的跟它上面的是一样的!
分享到:
相关推荐
在解决数据库连接池问题时,常见问题包括连接泄露、性能瓶颈、连接超时等。连接泄露通常是因为程序没有正确关闭数据库连接,导致连接池中的连接逐渐耗尽。性能瓶颈可能源于设置不当的最大和最小连接数,需要根据应用...
### 有关Struts中的数据库连接池问题解决 在开发基于Web的应用程序时,尤其是在使用Struts框架这样的MVC(Model-View-Controller)架构中,数据库连接管理是至关重要的一个环节。由于数据库连接是一种关键、有限且...
博客文章《C3p0连接池问题》可能深入探讨了这些细节,并给出了具体的案例和解决方案。通过阅读该文章,开发者可以更好地理解和解决C3p0连接池在实际应用中可能出现的各种问题,提升系统的稳定性和效率。同时,了解C3...
为了解决这个问题,引入了数据库连接池技术。 1. **数据库连接池的工作原理** 数据库连接池在初始化时会创建一定数量的数据库连接并存储起来,这些连接在应用程序需要时可以从池中获取,用完后归还到池中,而不是...
在IT行业中,数据库连接池是优化数据库访问性能和资源管理的重要技术。连接池的基本思想是重用已建立的数据库连接,避免频繁创建和销毁连接带来的性能开销。本篇文章将深入探讨连接池的概念、工作原理以及如何在实际...
#### 二、当前使用的连接池问题 当前许多应用采用的是Proxool连接池。然而,在高并发环境下,Proxool连接池暴露出了一些不足之处: 1. **高并发异常**: - `DataSource.getConnection()` 方法会根据`...
为了优化性能和提高效率,开发人员常常会利用连接池技术来管理Kafka生产者的连接。本文将深入探讨"Kafka生产者连接池"的概念、实现原理以及它如何提升系统性能。 Kafka生产者连接池是一种资源复用机制,它允许多个...
它的核心特性之一就是连接池(Connection Pool),它在提高网络性能和减少延迟方面起到了关键作用。本文将深入探讨OkHttp中的连接池实现,包括连接对象的添加、移除机制以及其工作原理。 首先,我们需要了解什么是...
Tomcat 连接池配置详解 Tomcat 连接池配置是 Web 应用程序中一个非常重要的组件,它负责管理和维护数据库连接,确保数据访问的高速和安全性。本文将详细介绍 Tomcat 连接池配置的步骤和原理,帮助读者快速掌握 ...
描述中提到的“解决连接池不够的问题,多连接的问题”,意味着在实际项目开发中,可能会遇到因为数据库连接数量不足或者频繁创建和关闭连接导致的性能瓶颈。通过使用连接池,开发者可以在应用启动时预先分配一定数量...
数据库连接池是数据库管理中的一个重要概念,它在C#编程中扮演着优化数据库操作的关键角色。C#数据库连接池是一种管理数据库连接的技术,通过复用已存在的连接而不是每次请求时都创建新的连接,从而提高数据库操作的...
Java FTP连接池是一种用于管理FTP(文件传输协议)连接的资源池,它的主要目标是提高应用程序的性能和效率。在传统的FTP操作中,每次需要连接到FTP服务器时都会创建一个新的连接,这会消耗大量时间和系统资源。而...
Tomcat 连接池和阿里 Druid 连接池的配置和比较 Tomcat 连接池是一种基于 Java 的数据库连接池实现,提供了高效、可靠的数据库连接管理。阿里 Druid 连接池是阿里巴巴开发的开源连接池,提供了高性能、可靠的数据库...
- **线程安全**:在多线程环境下,连接池必须确保并发安全,防止数据竞争和同步问题。 6. **性能优化**: - **最小/最大连接数**:设置合适的最小和最大连接数,平衡资源使用和性能需求。 - **连接检测**:定期...
Weblogic 连接池配置数据库断掉重连的问题 在 Weblogic 中,连接池配置数据库断掉重连是一个非常重要的问题。连接池配置是 Weblogic 中的一种机制,用于管理与数据库的连接。然而,在实际应用中,我们经常会遇到...
为了解决这个问题,开发人员通常会使用连接池来管理和复用已建立的Socket连接。 首先,我们来看一下Socket的基本概念。Socket是网络编程中的一个抽象概念,它代表了两台机器间的一个双向通信链路。在Java中,`java...
在.NET Core 2.1框架下,可以使用.NET Standard库来实现高效、优化的数据库连接管理,特别是通过连接池来提高性能。本文将深入探讨如何在C#中使用MySQL数据库连接池。 首先,我们需要了解什么是数据库连接池。...
Socket客户端连接池是一种在分布式系统或网络编程中提高性能和效率的重要技术。它允许应用程序预先创建并维护一组可重用的Socket连接,从而避免了每次通信时建立新连接的开销。本文将深入探讨Socket客户端连接池的...
Java数据库连接池驱动是Java应用程序在访问数据库时用于优化资源管理的一种技术。它提供了一种在多个数据库操作之间重用数据库连接的方式,从而避免了频繁创建和关闭连接带来的性能开销。连接池的核心思想是池化资源...