Eclipselink - 在“重新连接到外部连接池”消息之后导致响应时间过长的原因

时间:2013-07-23 11:17:50

标签: mysql eclipselink

我正在从eclipse链接用户邮件列表中重新发布一个问题,因为我不清楚哪里有更多活动(对不起垃圾邮件)。

我在应用程序日志中看到一个间歇性的行为,在看到“重新连接到外部连接池”消息后,它需要很长时间(在我注意到的2个案例中需要15分钟和30分钟),直到线程继续其活动并且与OEF失败 - 显然是因为这么多时间过去了。 在其他情况下,我看到立即响应,我正在试图找出如何找到长响应时间的原因 -

  • 这是网络问题吗?
  • 也许我的连接池太小了?
  • 也许托管我的容器无法分配更多线程?
  • 也许......?

你可以看到我在这里抓住了

目前我正在使用org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.reconnect(AbstractSession)的代码

我正在使用

  • EclipseLink 2.4.2M3
  • Spring 3.1.2
  • Jetty 8.1.8
  • DB是MySQL 5.6

1 个答案:

答案 0 :(得分:0)

我想分享我们在问题中找到的解决方案。

  1. 基本上问题是我们在连接池中没有关闭连接的定义,如果它们闲置X时间
  2. 然后我们会偶尔接到一个我们认为已打开的连接,但它已被操作系统关闭
  3. 因此,当我们尝试使用已经关闭的连接访问操作系统时 - 我们需要15分钟才能暂停
  4. 底线 - 确保关闭空闲连接