首页 文章

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

提问于
浏览
0

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

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

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

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

有没有办法我们可以超时使用消费者(TestListener)代码,以便监听器不会在Spring AMQP中被挂起

1 回答

  • 0

    如果一个线程在你的代码中“卡住”,框架就无法做到 .

    您可以注入一个自定义任务执行程序,停止容器,并关闭执行程序(所有线程将被停止),或者您可以保存线程和中断是其他方式 .

    但即使中断线程(使用任何技术)也无济于事,如果“卡住”的用户代码不可中断 - 例如在紧凑的CPU循环中或等待套接字读取 .

    最好的解决方案是修复悬挂线程的代码 .

相关问题