如何将BlockHound添加到Spring Boot应用程序以检测阻塞呼叫?

时间:2019-09-19 14:51:25

标签: java spring-boot reactive-programming

如何将BlockHound添加到Spring Boot应用程序以检测阻塞调用?

我没有找到任何有关春季启动应用程序的示例: https://github.com/reactor/BlockHound/blob/master/docs/quick_start.md

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

恕我直言,最明智的选择是在JUnit测试正在执行代码时启用BlockHound。

为此,您只需要导入具有测试范围的https://mvnrepository.com/artifact/io.projectreactor.tools/blockhound-junit-platform依赖项,它就会在启动JUnit测试套件时自动初始化BlockHound:

<dependency>
  <groupId>io.projectreactor.tools</groupId>
  <artifactId>blockhound-junit-platform</artifactId>
  <version>1.0.0.RC1</version>
  <scope>test</scope>
</dependency>


或者,如果您打算一直使用BlockHound,并且不仅在测试期间使用,还应该导入以下依赖项:

<dependency>
  <groupId>io.projectreactor.tools</groupId>
  <artifactId>blockhound</artifactId>
  <version>1.0.0.RC1</version>
</dependency>

然后在引导您的Spring Boot应用程序之前,在您的主要方法中调用BlockHound.install()

@SpringBootApplication
public class BlockhoundDemoApplication {

    public static void main(String[] args) {
        BlockHound.install();

        SpringApplication.run(BlockhoundDemoApplication.class, args);
    }

}

有关更多参考,您可以参考: