【问题标题】:Spring Message Consumer is becoming offline after ActiveMQ Master/Slave在 ActiveMQ Master/Slave 之后 Spring Message Consumer 正在离线
【发布时间】:2020-05-09 01:01:02
【问题描述】:

我的 Spring JMS 侦听器应用程序在侦听该主题时遇到问题。

每当 ActiveMQ 上发生主/从转换时,我的使用者 ID 都会从 ActiveMQ Web 控制台报告的“活动持久订阅者”变为“离线持久订阅者”。如果我再次重新启动我的消费者应用程序,它会在“Active Durable Subscribers”下变得活跃。我不确定我的 Spring Listener 配置有什么问题。

<bean id="amqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> 
    <property name="brokerURL" value="failover:(tcp://xxx01:61616,tcp://xxx02:61626)?randomize=false&amp;initialReconnectDelay=100&amp;maxReconnectDelay=100&amp;maxReconnectAttempts=30"/> 
    <property name="clientID" value="DevTest" />
</bean>

<bean id="connectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
    <constructor-arg ref="amqConnectionFactory" />
    <property name="reconnectOnException" value="true" />
</bean>

<bean id="messageReceiver" class="com.example.jms.TestMessageListener">
</bean>

<bean class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="connectionFactory" ref="connectionFactory" />
    <property name="destinationName" value="TESTTOPIC" />
    <property name="messageListener" ref="messageReceiver" />
    <property name="subscriptionDurable" value="true" />
    <property name="pubSubDomain" value="true" />
</bean>

【问题讨论】:

  • 您是否尝试将连接 URL 上的 maxReconnectAttempts 从 30 增加到更高的值?
  • 嗨@JustinBertram,是的,我做到了。我已将其更改为 100,但仍然面临同样的问题。
  • 删除最大重新连接尝试设置并查看它是否有效,如果有效,您需要更多尝试或更长的延迟。

标签: spring spring-mvc jms activemq spring-jms


【解决方案1】:

我在 ActiveMQ Artemis 上遇到了类似的问题,并帮助删除了连接参数。

为我工作: (tcp://xxx.xxx.xxx.xxx:61616,tcp:/xxx.xxx.xxx.xxx:61617)

让我们试试吧:

failover:(tcp://xxx01:61616,tcp://xxx02:61626)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-17
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2017-09-01
    • 2017-04-13
    • 1970-01-01
    相关资源
    最近更新 更多