C# 仪表板上的ActiveMQ检查重试

C# 仪表板上的ActiveMQ检查重试,c#,activemq,C#,Activemq,我已经在activeMQ上实现了重新传递策略,但问题是无法在activeMQ提供的仪表板上查看队列的重试次数。我想在它进入DLQ队列之前查看尝试次数。我知道队列重试机制,它将在完成后对单个消息重试n次,或者将消息转发到DLQ,它将选择另一个消息进行处理 下面是我的代码 _connection.RedeliveryPolicy.InitialRedeliveryDelay = 10000; _connection.RedeliveryPolicy.RedeliveryDelay(10000);

我已经在activeMQ上实现了重新传递策略,但问题是无法在activeMQ提供的仪表板上查看队列的重试次数。我想在它进入DLQ队列之前查看尝试次数。我知道队列重试机制,它将在完成后对单个消息重试n次,或者将消息转发到DLQ,它将选择另一个消息进行处理

下面是我的代码

 _connection.RedeliveryPolicy.InitialRedeliveryDelay = 10000;
 _connection.RedeliveryPolicy.RedeliveryDelay(10000);
 _connection.RedeliveryPolicy.MaximumRedeliveries = 3;
 _connection.RedeliveryPolicy.BackOffMultiplier = false;
 _connection.RedeliveryPolicy.UseExponentialBackOff = false;

请告诉我是否有任何方法可以在仪表板上看到重试?

在您的示例中,需要注意的一件重要事情是,如果您在代理配置和连接配置中放置了重新交付策略,则会重复工作。您的邮件将获得
重试次数=(连接重试次数)*(代理重试次数)
。因此,在您的情况下,如果您的连接重试次数为3次,并且您的broker RedeliveryPolicy为3次,那么您的消息将重试9次!建议您将连接重试策略设置为“无”,并让代理处理重新分派,以便它可以重新分发有关代理群集的消息

我认为有一个ActiveMQ头可以在重试或传递消息时执行您想要的操作,但文档中没有列出它,并且在设置代理并有意对消息进行DLQ后,我看不到设置了任何消息头。这是在这里确认的:


您可以向代理编写一个小增强,以[可选地]在该行增加一个重新交付计数头,我相信该补丁会受到社区的欢迎。

您使用的是哪个版本的ActiveMQ?另外,您具体使用什么“仪表板”?你能提供一个截图吗?