Mule例外策略

问题描述 投票:0回答:1

仅在一个特定队列上,Mule JMS使用者计数就变为0,并在某个时间点后恢复为默认值

我的问题是,为什么它下降到0,并且我的消息被卡在队列中?片刻之后,我发现它返回到32(默认为numberOfConcurrentTransactedRecievers)并处理该消息,然后再次返回到0个使用者。可能是什么问题?

我在同一m子中还有其他消费者,它们能够干净地处理而不会减少计数。

我的配置:

<!-- ActiveMQ Connection factory -->
<spring:bean id="domainConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory" lazy-init="true">
    <spring:property name="brokerURL" value="tcp://78.99.88.72:61616?jms.prefetchPolicy.all=2&amp;jms.useAsyncSend=true&amp;socketBufferSize=131072" />
    <spring:property name="redeliveryPolicy" ref="domainRedeliveryPolicy" />
</spring:bean>

<!-- amqExceptionConnectionFactory Connection factory -->
<spring:bean id="amqExceptionConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory" lazy-init="true">
    <spring:property name="brokerURL" value="failover:(${domain.amq.failover.url}?jms.prefetchPolicy.all=2)" />
    <spring:property name="redeliveryPolicy" ref="domainRedeliveryPolicy" />
</spring:bean>
<jms:activemq-connector 
    name="com.KKT.jmsConnector" 
    username="${domain.amq.user.id}" 
    password="${domain.amq.user.password}" 
    connectionFactory-ref="pooledConnectionFactory"
    validateConnections="true" 
    numberOfConcurrentTransactedReceivers="32"
    acknowledgementMode="AUTO_ACKNOWLEDGE"  
    persistentDelivery="false" 
    doc:name="AMQ Connector for KKTInterface" 
    specification="1.1">
    <receiver-threading-profile maxThreadsActive="32" poolExhaustedAction="WAIT"/>
    <dispatcher-threading-profile maxThreadsActive="128" poolExhaustedAction="WAIT"/>
    <reconnect count="15" frequency="5000" blocking="true"/>
</jms:activemq-connector>

而且我看到以下错误:

mule.log.5:2020-05-29 20:24:49,392 [ERROR] KKT.router [ActiveMQ Session Task-6] | ed938f60-a1d8-11ea-8ad7-525400aef612: KKT Interface: Unrecoverable Error: Please check ASAP: org.mule.transport.jms.redelivery.MessageRedeliveredException: "Message with id "ID:localhost-35511-1590775568949-1:1:162:1:3367" has been redelivered 1 times on endpoint "jms://com.KKT.router.inbox", which exceeds the maxRedelivery setting of 0 on the connector "com.KKT.router.jmsConnector".
mule.log.5:2020-05-29 20:24:49,216 [ERROR] exception.CatchMessagingExceptionStrategy [ActiveMQ Session Task-5] |
mule.log.5:2020-05-29 20:24:49,216 [ERROR] exception.CatchMessagingExceptionStrategy [ActiveMQ Session Task-4] |
mule.log.9:2020-05-29 20:24:32,753 [ERROR] exception.CatchMessagingExceptionStrategy [ActiveMQ Session Task-57] |
mule.log.9:2020-05-29 20:24:32,753 [ERROR] KKT.router [ActiveMQ Session Task-57] | db927d80-a1d8-11ea-8ad7-525400aef612: KKT Interface: Unrecoverable Error: Please check ASAP: org.mule.api.service.FailedToQueueEventException: Interrupted while queueing event for "SEDA Stage com.KKT.router.requestGateway.stage1".
mule activemq mule-esb
1个回答
0
投票

问题似乎是某些错误触发了邮件的重新交付。当重新交付计数超过最大值时,您会收到重新交付错误。

© www.soinside.com 2019 - 2024. All rights reserved.