tomcat 运行时出现Cannot create PoolableConnectionFactory (

--停止命令

net   stop   mssqlserver

---开启命令
net   start   mssqlserver

tomcat 运行时出现Cannot create PoolableConnectionFactory (到主机 的 TCP/IP 连接失败...

 将一个Java Web应用转移到一台新的PC机上供测试使用。配置环境为:

1.    JDK 1.6.0

2.    Tomcat 5.5

3.    SQL Server 2005

    其中SQL Server 2005为新安装在此机器上。将Web应用部署到Tomcatwebapps文件夹后运行启动脚本,开始并未注意到控制台的一些提示信息。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 ServerTCP/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

 

你可能感兴趣的:(tomcat 运行时出现Cannot create PoolableConnectionFactory ()