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

在Spring AMQP中,我们可以在消费者端设置超时吗

越安翔
2023-03-14

我们能在SpringAMQP中的消费者端设置超时吗?

我们有一个用例,AMQP消息到达消费者端

 @Named("TestListener")
public class TestListener implements MessageListener {

        @Override
    public void onMessage(Message message) {
      // some error logic which got hanged the consumer thread 
    }

有没有办法让使用者(TestListener)代码超时,这样Listener就不会在SpringAMQP中被挂起

共有1个答案

苏乐
2023-03-14

如果线程“卡在”代码中,框架将无能为力。

您可以插入自定义任务执行器、停止容器并关闭执行器(所有线程都将被停止),或者您可以保存线程并以其他方式中断。

但是,如果“卡住”的用户代码不可中断,即使中断线程(使用任何技术)也无济于事——比如在紧张的中央处理器循环中或等待套接字读取。

最好的解决方案是修复挂起线程的代码。

 类似资料:
  • 我有一个多分区主题,由多个使用者(同一组)使用。我的目标是最大化消费处理,即任何消费者都可以消费来自任何分区的消息。 我知道这看起来是不可能的,因为只有一个消费者可以从一个分区中消费。 有没有可能使用REST代理来实现这一点?例如,轮询所有代理消费者实例。 谢了。

  • 我试图做一个简单的poc与Spring启动与版本(2.3.7发布)的SpringKafka,以实现消费者批处理的工作原理,以及如何再平衡工作,如果消费者需要更多的流转时长,因为我是全新的这个消息系统。 现在我看到kafka重新平衡单个消费者(不允许并发)的问题。 这些是我设置的max.poll.interval属性。ms=50000和factory.getContanerProperties。se

  • 将Pact用于消费者与提供者的契约测试,而不是对提供者的功能测试 功能测试是确保提供者在某个请求下执行正确的动作。这些测试代码属于提供者团队,不应该由消费者团队完成。 而契约测试的目的是确保消费者团队和提供者团队对请求和响应达成共识。 Pact测试应该关注于: 检查消费者如何构建请求以及处理响应时所暴露出的bug 检查提供者的行为,消除理解上的偏差 Pact测试不应该关注于: 提供者内部所暴露的b

  • 我正在使用Jfreechart制作堆叠面积图。我正在使用类StackedXYAreaChart。 我想知道我们是否可以在StackedAreaChart的数据点上绘制形状(它是一个折线图,我们可以通过设置SetSeriesShapes()来表示每个数据点)。 setSeriesShape()方法似乎不起作用。有人知道吗? 以下是我到目前为止所尝试的(请不要评论我有一个空数据集。我正在绘制一个动态图

  • 问题内容: Firefox总是加载动态图像,但是IE只是显示图像而没有任何动态动作。我需要做些什么改变? IE查看源代码中的JavaScript代码: 我正在使用Wicket框架,所以真正的Java代码是: 加载我的动态图像的html页面是: 问题答案: 解决了我的问题。可能对其他人有用: 回答: HTML源代码: HTML:

  • 问题内容: 在第一种情况下 ,它会抛出 NSURLErrorDomain (正确设置了超时): 在第二种情况下 ,超时不会被替换,而是仍设置为60秒。 我在ios 10.1中运行 我的代码:( 不起作用) 解决了Alamofire github线程: Alamofire 4.3.0设置超时引发NSURLErrorDomain错误#1931 问题答案: 基于@ kamal-thakur响应。 迅捷3