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

Spring amqp Reply必需异常

阚正真
2023-03-14

我使用spring集成和amqp实现了请求/回复。由于某些原因,客户机抛出异常,处理请求可能需要很长时间(在某些情况下甚至需要一个小时)-

Exception in thread "main" org.springframework.integration.handler.ReplyRequiredException: No reply produced by handler 'client', and its 'requiresReply' property is set to true.

我的客户端配置如下。

 <int-amqp:outbound-gateway
        id="client"
        request-channel="in"
        reply-channel="res"
        exchange-name="reportingServer"
        routing-key-expression="'report.req.'+headers.id"
        amqp-template="amqpTemplate" requires-reply="true">
        </int-amqp:outbound-gateway>

我相信回复超时默认值是-1,表示无限期等待,但不确定为什么它不工作,任何帮助都将不胜感激。

此外,在amqp中实施如此长时间的等待操作是否存在任何已知问题,或者应该没问题?

非常感谢。

共有1个答案

曹和正
2023-03-14

只要你没有太多的并发请求就可以了——如果你有无数的线程等待回复,那么它的伸缩性就不会很好。

如果您需要扩展它,您可以设计一个带有一对出站和入站适配器的异步等价物,但它比使用网关要复杂一些,实际实现将取决于流的其余部分。基本上,您必须将replyTo头设置为使应答到达入站适配器。

如果你有一个简单的

 类似资料:
  • 问题内容: 一个简单的问题,我找不到答案。Java是否需要使用try-catch的每个异常?还是仅针对FileNotFoundException? 很多异常(IndexOutOfBoundException,ArithmeticException,IllligalArgumentException,NullPointerException)都说它们不需要异常,但FileNotFoundExcept

  • 和(表单验证)有什么区别?

  • 问题内容: 在我的Web应用程序中,我对表单字段使用了一些自定义验证。在同一个表单中,我有两个按钮:一个用于实际提交表单,另一个用于取消/重置表单。 通常,我使用Safari作为默认浏览器。现在Safari5退出了,突然我的“取消/重置”按钮不再起作用了。每次按下重置按钮时,表单中的第一个字段都会获得焦点。但是,这与我的自定义表单验证相同。在其他浏览器上尝试时,一切都很好。我必须是Safari 5

  • 我试图加载FXML文件并将其显示为应用程序窗口,但出现异常。FXML文件是由FXML场景生成器创建的。 这是这门课的代码 和FXML文件 这是我得到的一个例外 我做错了什么? p、 这是项目结构

  • http://localhost/test?name= 它的工作没有任何问题,没有抛出任何异常或任何其他迹象。为什么?