java - Spring Boot 在 Debug模式下阻止 H2 控制台

标签 java spring spring-boot

我正在尝试在 Debug模式下的 WebIntegrationTest 期间访问 H2 控制台。但是,我注意到在调试测试时 Spring Boot 正在阻止 H2 控制台。似乎一旦到达断点,H2 控制台也会被阻止。我正在使用 Spring Boot 1.3.1.RELEASE。

以下测试中的每个断点都会导致阻塞 H2 控制台。在断点 1 中,出现登录页面。然后我按下登录按钮,但在我继续测试到下一个断点之前没有任何反应。在断点 2 中,我已登录并可以执行查询。但只有当我转到下一个断点时,查询结果才会出现。

@Test
public void whenGetById_thenCorrectId() throws InterruptedException {
    // do some stuff
    // breakpoint 1
    Thread.sleep(1000);
    // breakpoint 2
    Thread.sleep(1000);
    // breakpoint 3
}

WebIntegrationTest 配置如下:

@ActiveProfiles("local,unittest")
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MyApplication.class)
@WebIntegrationTest({"spring.h2.console.enabled=true", "server.port=8080"})
public class MyResourceTest {

如何将 H2-in-memory DB 与 Debug模式分离?

最佳答案

断点可以配置为挂起整个 VM 或仅挂起一个线程。在 IntelliJ 中,您可以通过右键单击相应的断点来设置它。我的断点配置为暂停整个 VM,因此每个断点也被阻止访问 H2-Console。

enter image description here

关于java - Spring Boot 在 Debug模式下阻止 H2 控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35179110/

相关文章:

java - 将内容推送到 Facebook、Twitter、linkedin、youtube 和 vimeo 等社交网站

java - 如何在 Spring 中使用 RESTTemplate 使用 API

java - Thymeleaf - 绑定(bind)在片段中不起作用

java - Injectmocks 无法实例化,因为找不到线程绑定(bind)请求

java - 使用类的对象数组进行碰撞

Java 调试器查找实例化对象的位置

java - 在 ControllerAdvice 之前捕获反序列化异常

java - JPA 得到分离的结果

java - 如何按照选择的顺序从 JList 获取项目?

java - 如果字符串包含字符串数组中的任何单词,如何替换字符串中的单词