我已经完成了这个项目:https://github.com/AndreaCatania/libreria
我已将此项目部署到WildFly 8.2中,当它断开数据库连接时,AS无法自动重新连接,应用程序被冻结(我必须重新启动AS)。
如果我将同一个项目部署到GlassFish中,我没有问题。
如何解决此问题?
WildFly配置:
https://github.com/AndreaCatania/libreria/blob/master/standalone-full.xml
https://github.com/AndreaCatania/libreria/blob/master/standalone.xml
答案 0 :(得分:0)
在你的hibernate.cfg.xml上,你可以添加如下行:
<property name="hibernate.c3p0.validate">true</property>
<property name="hibernate.c3p0.preferredTestQuery">select 1</property>
将验证与数据库的连接。取自https://confluence.atlassian.com/display/CONF43/Surviving+Database+Connection+Closures
答案 1 :(得分:0)
您似乎正在使用C3P0,这在数据库出现故障时已知问题。您应该考虑切换到HikariCP,在这种情况下会更好地做出响应。数据库中断下各种连接池的Here is an excellent comparison。
或者,请考虑使用应用服务器提供的池功能。