【问题标题】:JMSException for HornetQ in Wildfly 10Wildfly 10 中 HornetQ 的 JMSException
【发布时间】:2020-06-10 04:37:39
【问题描述】:

我一次运行多个调度程序,重复间隔为 1000 毫秒和 500 毫秒。调度程序从队列中读取一些消息,对其进行处理,然后存储在 MySQL 数据库中。在这些过程的中间,有时我会遇到这种异常。

javax.jms.JMSException: AMQ119014: Timed out after waiting 30,000 ms for response when sending packet 71
2020-02-25 12:05:27,483 ERROR [stderr] (DefaultQuartzScheduler_Worker-5)        at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:398)
2020-02-25 12:05:27,483 ERROR [stderr] (DefaultQuartzScheduler_Worker-5)        at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:304)
2020-02-25 12:05:27,484 ERROR [stderr] (DefaultQuartzScheduler_Worker-5)        at org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.sendFullMessage(ActiveMQSessionContext.java:378)
2020-02-25 12:05:27,484 ERROR [stderr] (DefaultQuartzScheduler_Worker-5)        at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.sendRegularMessage(ClientProducerImpl.java:286)
2020-02-25 12:05:27,485 ERROR [stderr] (DefaultQuartzScheduler_Worker-5)        at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:264)
2020-02-25 12:05:27,485 ERROR [stderr] (DefaultQuartzScheduler_Worker-5)        at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:122)
2020-02-25 12:05:27,485 ERROR [stderr] (DefaultQuartzScheduler_Worker-5)        at org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.doSendx(ActiveMQMessageProducer.java:477)
2020-02-25 12:05:27,486 ERROR [stderr] (DefaultQuartzScheduler_Worker-5)        at org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:173)
2020-02-25 12:05:27,486 ERROR [stderr] (DefaultQuartzScheduler_Worker-5)        at com.ecomm.web.jmsqueue.SubmitToJMS.sendJMSMessagewithpriority(SubmitToJMS.java:197)
2020-02-25 12:05:27,486 ERROR [stderr] (DefaultQuartzScheduler_Worker-5)        at com.ecomm.web.jmsqueue.InputMsgNewServerQueue.sendtosenderQueue(InputMsgNewServerQueue.java:78)
2020-02-25 12:05:27,486 ERROR [stderr] (DefaultQuartzScheduler_Worker-5)        at com.pl4sms.web.thread.InputMsgSchHighPriority.execute(InputMsgSchHighPriority.java:36)
2020-02-25 12:05:27,487 ERROR [stderr] (DefaultQuartzScheduler_Worker-5)        at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
2020-02-25 12:05:27,487 ERROR [stderr] (DefaultQuartzScheduler_Worker-5)        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
2020-02-25 12:05:27,487 ERROR [stderr] (DefaultQuartzScheduler_Worker-5) Caused by: ActiveMQConnectionTimedOutException[errorType=CONNECTION_TIMEDOUT message=AMQ119014: Timed out after waiting 30,000 ms for response when sending packet 71]
2020-02-25 12:05:27,488 ERROR [stderr] (DefaultQuartzScheduler_Worker-5)        ... 13 more
2020-02-25 12:05:27,488 ERROR [com.ecomm.web.jmsqueue.SubmitToJMS] (DefaultQuartzScheduler_Worker-5) javax.jms.JMSException: AMQ119014: Timed out after waiting 30,000 ms for response when sending packet 71

【问题讨论】:

  • 请添加大量上下文,说明您尝试做什么、在哪里看到此错误等。另外,您的问题是什么?
  • 您说您正在向嵌入在 Wildfly 10 中的 HornetQ 代理发送消息,但 Wildfly 10 默认情况下不嵌入 HornetQ。它嵌入了 ActiveMQ Artemis(基于 HornetQ 代码库)。此外,堆栈跟踪表明您正在使用 ActiveMQ Artemis JMS 客户端。您能否澄清一下 HornetQ 在您的用例中扮演的角色?

标签: java jms wildfly activemq-artemis


【解决方案1】:

您能否至少描述一下您的问题。 CONNECTION_TIMEDOUT 表示无法连接,这是一些配置问题。

【讨论】:

  • 感谢您的回复。我一次运行多个调度程序,重复间隔为 1000 毫秒和 500 毫秒。计划从队列中读取一些消息。处理它们并存储在mysql数据库中。在这些过程的中间,有时我会遇到这种异常。
【解决方案2】:

您的班级com.ecomm.web.jmsqueue.SubmitToJMS 正在尝试发送消息,但此操作在等待代理的响应时超时。您应该增加客户端的超时时间(例如,通过在客户端 URL 上使用 callTimeout 参数,默认为 30000 毫秒)或调查接收消息的代理在分配的时间内没有响应客户端的原因.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-11
    • 2017-01-08
    • 2023-03-26
    • 2015-04-14
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 2017-07-03
    相关资源
    最近更新 更多