gpt4 book ai didi

java - H2 服务器在调试时挂起

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:10:06 27 4
gpt4 key购买 nike

我有一个 Spring 应用程序,它在内存 H2 数据库中启动以下内容以进行 JUnit 测试:

db.jdbc.driver=org.h2.Driver
db.jdbc.url=jdbc:h2:mem:sampledb
db.jdbc.username=
db.jdbc.password=
hibernate.dialect=org.hibernate.dialect.H2Dialect

我想在我的 JUnit 测试运行时轻松调试,同时浏览数据库状态,所以在测试套件之前我启动 H2 服务器:

org.h2.tools.Server.createTcpServer("-tcpPort", "9092", "-tcpAllowOthers").start();

不幸的是,当我放置任何暂停所有线程的断点时,它也会暂停 H2 服务器线程,因此我无法连接。我无法在不同的进程中启动 H2 服务器,因为内存数据库无法从外部 VM 访问。

我知道我可以使用其他类型的断点(仅暂停当前线程)但这是一种限制。您是否找到其他解决此类问题的方法?

最佳答案

有点老问题了,但对于那些偶然发现这个话题并正在寻找简单答案的人来说:

基本上,您可以将调试器断点设置为挂起所有线程(在这种情况下 H2 服务器也将挂起)或仅挂起当前线程 - 这是您正在寻找的设置,H2 服务器将继续运行。

例如如果您使用的是 IntelliJ,则右键单击断点(或 Ctrl + Shift + F8 打开“断点”对话框窗口)并设置“暂停线程”

关于java - H2 服务器在调试时挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32098555/

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