我的项目将Play Framework 2与Hibernate和Postgres一起使用,但每次我必须重新加载测试时,需要花费大量时间(约2分钟)才能在第一次(开发模式)时最终提供请求。
所以基本上,它花了很多时间从
开始[info] play - database [default] connected at jdbc:postgresql://myDBConnection
到
[info] play - Application started (Dev)
我尝试降低日志级别,但两者之间没有任何记录,因此我不知道那里需要花费很多时间的是什么,但它严重影响了我的工作能力,因为它需要这么长时间加载。
对此有任何明显或简单的解决方法吗?
答案 0 :(得分:1)
以防万一其他人看到这个,我设法通过删除JPA映射来修复它,并使用普通的旧hibernate,就像我会在其他地方使用它一样。我的连接在启动时达到30秒以上,大约2秒。好多了!
答案 1 :(得分:0)
Play! Framework
模式下DEV
运行是正常的。
在开发模式下,默认启用auto-reload
和hot swap
启动服务器,这意味着对于每个请求,Play将验证项目并重新编译所需的源。此外,如果有多个更改(主要是模型中的更改),应用程序将自动重新启动。
另外我猜你的应用程序启动时 - 你有一些加载到数据库中的测试数据。 (如果是,每次模型更改并且[自动]重新启动应用程序时,都会发生此重新加载。此外,JPA验证程序将确保您的关系模型与您的JPA定义匹配。)
请注意,这仅在初始请求中发生。如果在每个请求上发生这种情况,那么您有一些错误的SQL需要很长时间才能执行。