你这里是数据库连接关闭了,导致后面的连接使用关闭的连接无法访问数据库,报的异常。在这里我建议你首先看一下在hibernate上检查一下,是否使用数据库连接池,可以使用c3p0或者其他的都可以,如果数据库连接断掉后,他会自动重连数据库,不用我们自己管理。
若是已经使用了数据库连接池就检查一下最大的连接数量跟数据库里设置的允许访问的连接数量是否合理,这里数据库默认的都会预留下一个管理的,所以我们使用的会小于最大的连接数。
可以使用c3p0做为数据库连接池。它配置和使用都非常方便。
hibernate默认使用c3p0做为数据库连接池,而且c3p0也可以与Spring框架方便的集成在一起。
下面的代码演示了如何在Spring中配置c3p0数据库连接池:
<bean id="dataSource" class="commchangev2c3p0ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="orgpostgresqlDriver" />
<property name="jdbcUrl" value="jdbc:postgresql://127001:5432/db_demo" />
<property name="user" value="postgres" />
<property name="password" value="123456" />
<property name="maxPoolSize" value="15" />
<property name="minPoolSize" value="1" />
<property name="initialPoolSize" value="3" />
</bean>
c3p0在sourceforge网站上发布的,描述如下:
c3p0 is an easy-to-use library for augmenting traditional (DriverManager-based) JDBC drivers with JNDI-bindable DataSources, including DataSources that implement Connection and Statement Pooling, as described by the jdbc3 spec and jdbc2 std extension
这次问题是数据库ip没有配置好,网上的数据库连接池都是在tomcat的配置文件下设置的,我们只需重新设置好即可。
解决方案:
1、使用“WIN+X”打开系统菜单,选择“命令提示符(管理员)”,打开命令提示符。
2、取到域名,这里的域名可以用ping XXX(你配置的网址获得)。我这里就拿百度的这个网址进行举例>
3、等待数据的返回,我们会收到来自XXX(ip)的回复,我这里的是1421517739,如下图。
4、我们将这个地址1421517739放入连接数据库的url(jdbcurl),由域名ping成IP地址替换上去,完美解决问题。
扩展资料:
网上的数据库连接池都是在tomcat的配置文件下设置的,我们做的项目连接池是在spring里面配置的,是基于SSH框架,有spring来管理hibernate。
以上就是关于javaweb 用hibernate做的项目,后台方法出现connection reset错误,详细描述在下全部的内容,包括:javaweb 用hibernate做的项目,后台方法出现connection reset错误,详细描述在下、JAVA连接池技术、在程序运行提示org.hibernate.exception.GenericJDBCException: Cannot open connection错误等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)