【问题标题】:MySQL_Connector stopped when trying to consume pending messages on ActiveMQ QueueMySQL_Connector 在尝试使用 ActiveMQ 队列上的挂起消息时停止
【发布时间】:2013-10-03 21:04:24
【问题描述】:

我正在使用带有故障转移和 JDBC 的 ActiveMQ 进行一些测试。

碰巧我积累了一个死消费者的未决消息,消费者中有一个 JDBC 插入查询。

消费者流程是这样的:JMS (Inbound) -> JDBC (Insert)

在等待消费的待处理消息之后,我启动消费者并开始获取消息,但是当它尝试对数据进行 JDBC 插入时,我得到一个“MySQL_Connector 已停止”。

为什么会这样?我该如何解决这个问题?有什么办法可以告诉 JMS 入站“等待”JDBC 启动?

谢谢。

【问题讨论】:

  • 您是如何配置 JDBC 连接器的?是否在 Mule 启动时连接成功?
  • 想象一下,我有 100 条待处理消息等待被具有 JDBC 插入的消费者流消费。我启动了消费者项目,很容易有 20 或 30 条未决消息将失败,因为 MySQL 连接器尚未启动。其他 70 人会成功哈哈。
  • 骡版?这听起来像一个错误。
  • 我使用的是 Mule 3.3.2 版。
  • 您介意在 3.4 上尝试相同的操作吗?

标签: jdbc jms activemq mule


【解决方案1】:

解决此问题的最佳方法是按连接器的使用顺序配置连接器。

实际上,mule 会按照您声明它们的顺序启动连接器,并且在 JMS 的情况下,它可以在其他连接器启动之前开始使用消息。

通过将 MySQL 连接器配置放在 JMS 之一之前,您应该能够解决这个问题。

【讨论】:

    猜你喜欢
    • 2022-06-14
    • 2014-01-18
    • 1970-01-01
    • 2018-11-30
    • 2019-11-24
    • 1970-01-01
    • 2013-08-01
    • 2015-09-23
    • 2017-07-13
    相关资源
    最近更新 更多