【发布时间】:2011-08-07 06:01:11
【问题描述】:
我有这个应用程序,用户必须手动连接数据库,我用这条线来做
EntityManagerFactory emf = Persistence.createEntityManagerFactory("persistenceUnit", connectionProperties);
当用户/密码不正确或由于错误的 url 导致主机超时时 C3P0 断开连接
然后我在控制台中得到这些
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask, 1853 - A RESOURCE POOL IS PERMANENTLY BROKEN! [com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@18e3f02a]
问题:我无法捕获该异常,因此我可以将其转换为屏幕上的用户友好消息,就像 emf 总是被创建,我无法判断何时被破坏
更新:我在 Hibernate 上找到了 http://docs.jboss.org/hibernate/entitymanager/3.5/reference/en/html/transactions.html#transactions-demarcation-exceptions
但是我用每一次可能的尝试捕获包围了我的 emf,但仍然无法捕获任何东西
【问题讨论】:
-
有人可以确认我的问题可以理解吗?我不敢相信以前没有人发现自己在这个案子上