首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用IntelliJ IDEA调试Spring WebFlux / Reactor应用程序

使用IntelliJ IDEA调试Spring WebFlux / Reactor应用程序
EN

Stack Overflow用户
提问于 2018-06-29 18:54:44
回答 1查看 6K关注 0票数 7

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

EN

回答 1

Stack Overflow用户

发布于 2018-07-02 18:16:17

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

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

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

我鼓励您阅读http://projectreactor.io/docs/core/release/reference/#debugging官方参考文档中有关堆栈跟踪和调试的内容

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51100118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档