Glassfish Derby连接池,连接未返回池中

时间:2012-01-26 16:17:14

标签: java hibernate jpa glassfish-3 derby

我在我的(简单)应用程序中使用Glassfish 3.1,JEE6 JPA Annotations,Hibernate提供程序和Derby数据库。我似乎在连接池方面遇到了很多困难。基本上,我的应用程序在没有安全性的情况下运行良好,但现在我已经创建了一个安全领域,我发现无论我将池设置为什么大小,我都会运行连接。显然,我在代码中做了一些事情,这意味着在servlet请求完成后,连接没有返回到池中。

我已经在StackOverflow上看到了各种发布和建议,并尝试了所有这些......似乎没有任何效果。

我想知道的是......如何从Glassfish中获取日志和跟踪信息?我需要找出为什么它没有返回到池的连接。这样我希望能够找到问题的根源。

非常感谢!

1 个答案:

答案 0 :(得分:0)

它始终是第一个猜测,由于缺乏清理,连接不会返回池中。

确保:

  • 关闭您打开的所有连接
  • 关闭您使用的所有EntityManagers

在每条路径中。

这是好习惯,做

使用

try
{
  //open
  //work
}
catch
{
  //exception handling
}
finally
{
  //close
}

处理这些情况的任何地方。

旁注: 像findbugs / sonar这样的静态分析仪能够检测到这些情况。