gpt4 book ai didi

Grails Controller /集成测试成功但永远挂起

转载 作者:行者123 更新时间:2023-12-04 04:37:30 24 4
gpt4 key购买 nike

绝对难倒这一点。

我有两个成功通过的 Controller 集成测试。但是,在 Intellij 中运行或通过 gradle check 运行时,JVM 永远不会退出。如果我注释掉整个集成测试,JVM 就会干净地退出。

在调试任何集成测试时,我可以暂停并看到有几个线程处于不同的状态:WAITING、RUNNING、SLEEPING。
application.yml 中使用的数据库纯粹是内存中的:

 url: jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE

将此更改为基于文件并不能解决问题。更改 DB_CLOSE_ON_EXIT=TRUE也无济于事。

我试过删除 @Rollback甚至使用 @Transactional超时,但这并不能解决问题。

在新项目上创建集成测试不会出现死锁/挂起/等待。

我已经通过修订返回以找到此行为开始的变更集,但这些更改纯粹是在 GSP、 Controller 以及其中一个集成测试中的附加断言和测试方法中。

日志中的最后几行是:
INFO org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext - Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@73386d72: startup date [Mon May 30 18:48:25 BST 2016]; root of context hierarchy
INFO org.springframework.context.support.DefaultLifecycleProcessor - Stopping beans in phase -2147483648
INFO org.grails.plugins.datasource.TomcatJDBCPoolMBeanExporter - Unregistering JMX-exposed beans on shutdown
INFO org.grails.plugins.datasource.TomcatJDBCPoolMBeanExporter - Unregistering JMX-exposed beans
INFO org.hibernate.tool.hbm2ddl.SchemaExport - HHH000227: Running hbm2ddl schema export
INFO org.hibernate.tool.hbm2ddl.SchemaExport - HHH000230: Schema export complete

我尝试将集成测试方法缩减为一种方法,但问题仍然存在。

我正在使用的版本是:
$ ~/apps/grails-3.1.5/bin/grails --version
|Grails Version: 3.1.5
|Groovy Version: 2.4.6
|JVM Version: 1.8.0_92

Windows 10 64 位。

Here's线程转储。

我不知道如何进一步调试。有任何想法吗?

最佳答案

我会打开调试级别的日志记录。另外,如果可以的话,我会将 grails 升级到 3.1.9 之后的版本。 (在我写这篇文章时,3.1.11 是最新的。)

在 grails v3.1.5 前后,Grails 和 Hibernate 之间存在配置不一致。 grails 团队正在快速升级几个接口(interface),他们很快就通过了。

结果是您最终没有运行您认为的配置。它还影响了缓存和事务管理。

当时,我必须创建冗余配置以确保 Grails 在一个级别上获取配置,在另一个级别上休眠。您不必再这样做了,但当时,我不得不使用列出的配置 here .

为了找到问题所在,我为 grails 和 hibernate 以及我所有的数据库驱动程序打开了调试日志记录,并一直涉足它。

This plugin还有助于提供详细的监控信息:

关于Grails Controller /集成测试成功但永远挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37531284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com