使用IntelliJ IDEA调试Spring WebFlux/Reader应用程序 [英] Debugging a Spring WebFlux / Reactor application with IntelliJ IDEA

查看:0
本文介绍了使用IntelliJ IDEA调试Spring WebFlux/Reader应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用IntelliJ Idea创建一个Spring WebFlux/Reader应用程序。IDEA的调试器显示了许多无用的行,如MonoDefer、MonoFlatMap等。有什么方法可以轻松跟踪堆栈吗?

推荐答案

在异步世界中,不幸的是堆栈跟踪失去了很多意义。这里您可以看到一个堆栈,其中显示了组成整个反应链的操作符(包括Spring框架在您的控制器中定义的操作符之上使用的操作符)。唯一的问题是它显示了链被触发(或"订阅")的位置,因为执行是延迟的,并且这是运行时唯一可见的路径...

对于正确的错误和堆栈跟踪,有一个.checkpoint()运算符可以在链中显式使用,以便捕获有关"程序集"(在代码中声明运算符链)的信息,以提供更多上下文。然后,它将显示为异常堆栈策略的一部分,并显示为受抑制的异常。

使用IntelliJ的新的异步调试器功能对我们来说也有点太难了,因为执行模型没有提供一对固定的"调度站点和执行站点":publishOnsubscribeOn等操作符用于在序列中间切换线程的Scheduler抽象意味着任意的"执行站点"(任意的ExecutorService、滚动自己的线程池、Thread,...)。

我鼓励您阅读http://projectreactor.io/docs/core/release/reference/#debugging

官方参考文档中有关堆栈跟踪和调试的内容

这篇关于使用IntelliJ IDEA调试Spring WebFlux/Reader应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆