将一个Java Web应用转移到一台新的PC机上供测试使用。配置环境为:
- JDK 1.6.0
- Tomcat 5.5
- SQL Server 2005
其中SQL Server 2005为新安装在此机器上。将Web应用部署到Tomcat的webapps文件夹后运行启动脚本,开始并未注意到控制台的一些提示信息。Tomcat启动后在地址栏中输入登录路径,登录界面成功出现。此时在登录框中输入正确的用户名与密码,系统提示错误。
注意到Tomcat的控制台出现异常提示:
Cannot create PoolableConnectionFactory (到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
错误提示很明显,到主机的TCP/IP连接失败。就是与SQL Server的TCP/IP连接失败。打开Microsoft SQL Server 2005-->配置工具-->SQL Server Configuration Manager,看到左侧的'SQL Server 2005 网络配置',点击'SQLEXPRESS的协议',检查右侧的'TCP/IP'协议的状态是否为已启用。然后双击'TCP/IP'协议,弹出属性对话框,切换到'IP地址'选项卡。展开'IPAll',检查'TCP端口'是否是Web应用中请求连接数据库的端口号,一般端口号默认为1433,若没有请填入。对话框确定后会提示停止并重启相应服务,照做即可。
其实Tomcat抛出异常的原因就是编译时无法连接到相应的数据源,根本原因就是找不到连接数据库的TCP端口号,而在Web应用中又配置了相应的数据源,故在编译时抛出异常。其实在上诉异常之前Tomcat早已抛出异常,只是一闪而过没有细心看罢了。因为Web应用采用SSH框架,故Hibernate需要绑定数据实体,既然没有端口号更无从谈起绑定了,故Tomcat抛出了
AbandonedObjectPool is used (org.apache.tomcat.dbcp.dbcp.AbandonedObjectPool@f70ee1)
LogAbandoned: false
RemoveAbandoned: true
RemoveAbandonedTimeout: 2
希望此文对你有帮助,如果有不对的地方请留言给我。
- 大小: 43.6 KB
分享到:
相关推荐
在SQL Server 2005中,"Cannot create PoolableConnectionFactory (用户 'sa' 登录失败。该用户与可信 SQL Server 连接无)" 错误通常表明在尝试使用SQL Server的身份验证方式登录时遇到了问题。这篇博客文章可能详细...
用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联
确认SQL Server 2000可以远程连接,除了开放1433端口外,还要升级数据库到SP3或SP4,否则连接会发出SQLNestedException:Cannot create PoolableConnectionFactory ([Microsoft][SQLServer 2000 Driver for JDBC]...
在Java开发中,连接池是一种优化数据库访问性能的重要技术,它可以高效地管理和重用数据库连接,从而避免频繁创建和销毁连接带来的性能开销。本文将深入讲解如何在Java环境中,特别是Tomcat服务器中配置和使用连接池...
// 处理归还连接时可能出现的异常 } } } // sendMessage 和 getMessage 方法 public static void sendMessage(String exchange, String routingKey, String message) throws Exception { Connection conn = ...
Apache Commons DBCP 1.2.2 是一个在Java应用程序中管理数据库连接池的开源库。...然而,考虑到软件的更新迭代,建议评估使用更现代的连接池库,如HikariCP或Tomcat JDBC Pool,以获得更好的性能和特性支持。
kettle常见问题kettle常见问题kettle常见问题kettle常见问题kettle常见问题
9. **DNS解析问题**:如果数据库的主机名是通过DNS解析的,确保DNS服务器工作正常,能正确解析主机名到IP地址。 10. **SSL配置**:如果数据库配置了SSL连接,确保客户端支持并正确配置了SSL证书和密钥。 在解决这...
- **创建PoolableConnectionFactory**:这是DBCP的核心,它将普通数据库连接转换为池化的连接,可以被对象池管理和回收。 - **注册PoolingDriver**:`PoolingDriver`是DBCP提供的JDBC驱动,它允许通过特定的URL...
源码中的关键类如`PooledConnectionManager`、`PoolableConnectionFactory`和`PoolConfig`分别对应连接管理、池化连接工厂和配置信息。 **五、最佳实践** 1. **合理设置参数**: 根据应用的并发量和数据库性能调整...
在执行JDBC Request之后,我们可能会出现一个报错:java.sql.SQLException: Cannot create PoolableConnectionFactory (The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more...
Java JDBC连接池是一种高效管理数据库连接的技术,它允许应用程序重复使用已经建立的数据库连接,而不是每次需要时都创建新的连接。这显著提高了性能并减少了系统资源的消耗,尤其是在高并发的环境中。本类库提供了...
数据库连接池的基本原理是预先创建并维护一定数量的数据库连接,当应用需要时,可以从池中获取连接,使用完毕后归还,而不是每次操作都创建新的连接。 **连接池的重要性**: 1. **资源复用**:通过重用已建立的...
Apache 数据库连接池,通常指的是 Apache 的开源项目 Commons DBCP (Database Connection Pool) 或者是更现代的 Apache Tomcat JDBC 连接池 (Tomcat DataSource Executor,也称为 C3P0、DBCP2)。这些组件是为 Java ...
通过合理设置这些参数,可以确保连接池的健康运行,避免资源浪费和潜在的数据库连接泄漏。 5. **与其他连接池的比较**: 虽然Apache Commons DBCP在早期被广泛应用,但随着技术的发展,出现了更多性能更优的数据库...
7. **异常处理**:在实际应用中,必须处理可能出现的各种异常,如连接池已满、数据库连接失败等情况,确保程序的健壮性。 8. **监控与日志**:为了方便问题排查和性能优化,连接池通常会提供监控接口和日志功能,...
源码中的关键类有`ComboPooledDataSource`(数据源)、`PoolableConnectionFactory`(连接工厂)和`PooledConnection`(池化的连接),它们共同协作完成连接池的管理。 **总结** C3P0作为一个成熟的连接池组件,...
4. **回收与维护**:DBCP 会检查归还的连接是否健康,如果出现问题则会关闭并替换,同时定期进行连接的检查和清理,以防止死连接的存在。 5. **关闭连接池**:在应用关闭时,DBCP 会关闭所有的数据库连接,并释放...
DBCP(Database Connection Pool)是Apache Jakarta项目中的一个子项目,它利用了commons-pool对象池机制来实现数据库连接的复用,从而减少创建和释放数据库连接时的开销。Tomcat,一个广泛使用的Java应用服务器,...
3. **故障恢复**:连接池可以检测连接的健康状况,当检测到有问题的连接时,会自动隔离并重新创建新的连接。 4. **伸缩性**:根据系统负载动态调整连接池大小,适应不同规模的应用需求。 Apache Commons DBCP提供了...