首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Grails MySql processList

Grails MySql processList
EN

Stack Overflow用户
提问于 2009-07-13 08:05:08
回答 2查看 268关注 0票数 0

我有一个带有webflow的grails应用程序。我在converstaion作用域中存储我感兴趣的内部流对象。在进入和离开流几次之后,我看到连接到DB ( MySql )的单个用户在MySql服务器上生成了许多未释放的线程。mysql中的进程列表显示处于休眠模式的线程,客户端上的netstat显示已建立到mysql服务器的连接。我假设连接是保持活动的,并且没有释放。但是为什么呢?grails在进入和离开流时到底做了什么?为什么会有这么多的连接打开而没有关闭?

任何帮助都将不胜感激。

问候你,马西亚尔

EN

回答 2

Stack Overflow用户

发布于 2009-07-13 23:23:12

Grails使用hibernate,而hibernate又使用连接池;这些是等待流量的空闲连接。

有关Hibernate的连接池的更多信息,请访问:https://www.hibernate.org/214.html

这实际上是理想的行为;打开一个新连接可能需要大量的时间,这比发送一个打开的查询所需的时间要长得多。

“过早优化是万恶之源”--除非你看到的是与数据库相关的性能问题,否则我就不提这个问题了。

票数 0
EN

Stack Overflow用户

发布于 2009-07-13 23:29:55

想象一下休眠池就像一个稳定的、随时准备好的汽车池,它的引擎随时打开,让你或你的伙伴们跳进去,去你想去的任何地方……嗯,不,是去数据库。没有必要等待出租车或启动您自己的汽车之前,你启动和运行…这里一切都好

只要需要,对话就应该一直存在。你经常深入到工作流程中,在完成它们之后,你会回到你的旧的,因此仍然活跃的对话中。意思是这样的。这里也都很好

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1118209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档