当前位置: 首页 > 知识库问答 >
问题:

项目ReactoronErrorResume卡住了

曾飞雨
2023-03-14

我正在使用项目Reactor,我有一个很长的流程,其中我得到了一个异常(当使用Jackson解析字符串到json时)。问题是,即使我使用

.map(this::parser)
.onErrorResume(err -> {
   log.error(myMsg);
   return Mono.empty();
})
.flatMap(writeToPulsar)
.subscribe()

流量不会继续。我确实看到了错误日志,流没有抛出异常,但流不会继续执行。发生这种情况的原因是什么?

当我将代码更改为(不需要的). onError继续()时,数据管道不会停止:

.map(this::parser)
.onErrorContinue((err, msg) -> {
   log.error(myMsg);
})
.flatMap(writeToPulsar)
.subscribe()

共有1个答案

宿嘉
2023-03-14

作为错误处理的一部分,您将返回Mono.empty(),这意味着您的流程将在不发出任何结果的情况下完成,并且平面图将不会被执行。

不确定预期的行为,但如果要继续流,请从onErrorResume返回一些“默认”值,或者使用switchIfEmpty操作符提供另一个发布者。

 类似资料:
  • 我已经在窗户上安装了颤振,并使用颤振医生检查了一切正常。我导入了Flutter插件。 第二次编辑: “颤振医生-V”输出

  • 问题内容: 我正在尝试使用标准方式使用jdbc连接到Informix数据库服务器: 但是它一直尝试连接并且不会抛出错误消息(我想它尝试连接是因为它什么都不显示)。我正在使用IBM Informix驱动程序4.10.00.1534和Java 1.7。到目前为止,我一直使用这种方法连接到Informix服务器,实际上,只有一台服务器失败。我可以使用odbc通过Informix客户端连接到该服务器,但是

  • 我正在阅读神经网络和深度学习(前两章),我正在尝试跟进并构建自己的ANN以从MNIST数据集中对数字进行分类。 我已经抓耳挠腮好几天了,因为我的实现在从测试集中分类数字时达到了约57%的准确率(有些5734/10000)在10个纪元后(训练集的准确率在第10个纪元后停滞不前,测试集的准确率可能会因为过度拟合而恶化)。 我使用与书中几乎相同的配置:所有层完全连接的2层前馈ANN(784-30-10)

  • 我正在调试一个普通的Java应用程序,没有GUI,只是在出现问题时对主线程进行大量计算和~5次调用。基本上,它一直在局部变量表中显示“收集数据”。 以前有人遇到过这个问题吗?更改调试器是解决这个问题的唯一方法吗?

  • 我正在尝试使用拖放移动滑块。它识别元素并单击它,之后什么也没发生,我的代码本身就卡在那里(就像等待用户输入)。只要我手动移动鼠标一点点,它就会执行其余的代码并按预期工作。请帮帮我这是什么奇怪的行为。?。下面是我用来构建拖放的代码。 “Waiting”消息打印得很好,但它没有打印“notwaiting”,因为它卡在了“secondSlide.perform()”行中。但只要我手动移动鼠标一点点,它就

  • 当我通过卡布局切换到另一个JPanel时,我遇到了一个卡住的精灵的问题。 现在..从屏幕切换的角度来看,一切都正常..但我的播放器精灵在切换后会卡在屏幕上,但在初始加载时,我可以用箭头键移动精灵。我不确定在新的视图上忽略播放器是否是罪魁祸首..但是我有一种感觉..想不出我做错了什么.. 玩家是这样的: 导入导入 java.awt.Rectangle;import java.awt.event.Ke