问题标签 [dead-letter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
akka - 为什么我不能用 scaldi 绑定到单个参与者实例(akka 路由器)?
我目前正在努力使用 scaldi 进行依赖注入来实现我的 Akka 路由器逻辑。为什么我不能使用 scaldi 绑定到单个 actor 实例,因为我的 actor 是一个路由器,而我只想拥有它的一个实例?我来问这个问题的方式是另一个 stackoverflow entry。
我的 scaldi 模块:
这种方式只创建了一个实例,一旦我多次注入我的路由器,它就会从 sender() 方法中获得一个死信actor作为发送者。
当我将绑定更改为...
...它工作得很好,但每次注入都意味着我的路由器的一个新实例。我对吗?
那么我怎样才能实现只有一个可注入的路由器实例呢?
提前致谢
java - 死信交换队列设置未按预期运行
我有一个绑定到交换的队列,如下所示:
对于这个队列,我绑定了一个死信交换,如下所示:
我已将死信队列绑定到死信交换,如下所示:
死信队列的声明方式如下:
但是,当我查看normal_queue
其详细信息时,仅显示以下参数:
死信交换应该列在这里吗?这是否意味着没有正确设置死信交换?
java - 如何在死字中使用 RepublishMessageRecoverer?
我为我正在使用的几个队列设置了死字。在我使用的配置中:
如果我希望死信队列上的消息具有 x-exception-stacktrace ,我读到我需要使用 RepublishMessageRecoverer。在死字中使用它就像在上述设置中用 RepublishMessageRecoverer 替换 RejectAndDontRequeueRecoverer 一样简单,还是我需要编写自定义 messageRecoverer?
rabbitmq - RabbitMQ:死信消息会死掉吗?
我们已经使用 2 个队列和 x-dead-letter-exchange/x-message-ttl 实现了延迟消息处理,其中在 queue1 中的消息超时后,它将转到 queue2。
现在是否可以设置 RabbitMQ,这样如果在处理来自 queue2 的消息期间我们将其拒绝为“死信”,那么它将自动转到 queue3?我担心的是queue2中的消息已经被标记为“dead”,有没有办法区分那些因为被拒绝而死的消息并自动只将那些消息放入queue3?
rabbitmq - 如何在 Celery 中设置每条消息的过期时间(TTL)?
可以将消息发布到具有过期 TTL 的 RabbitMQ 队列中:一旦 TTL 完成并且(如果设置了死信队列),此类消息将过期并删除到死信队列。
但是是否可以使用 Celery 指定这样的每条消息 TTL?
请注意,我不是在寻找一种方法来指定任务到期,而是在寻找消息到期:我希望我的消息在最终被@死信队列接收之前在队列中花费(可配置的)时间量。
TIA。
java - 如何配置 Camel 的 RedeliveryPolicy retriesExhaustedLogLevel?
我在 Camel 路由中设置了一个 errorHandler,它将在将消息发送到死信通道(在本例中为 activemq 队列)之前多次重试消息。我想要的是在消息未能重试最大次数然后被发送到死信队列时看到错误日志。
查看有关错误处理和死信通道的文档,似乎 RedeliveryPolicy 上有 2 个选项可用:retriesAttemptedLogLevel 和 retriesExhaustedLogLevel。假设默认情况下 retriesExhaustedLogLevel 已设置为 LoggingLevel.ERROR,但当它已花费所有重试并将消息路由到死信通道时,它似乎并没有实际记录任何内容。
这是我通过 Java DSL 定义的 errorHandler。
我现在已将级别明确设置为 ERROR,但它似乎仍然没有注销任何内容(任何日志记录级别)。另一方面,retryAttemptedLogLevel 工作得很好,并将记录到适当的 LoggingLevel(即,我可以将 retryAttemptedLogLevel 设置为 LoggingLevel.ERROR 并将重试视为 ERROR 日志)。但是,我只想要一个 ERROR 日志以防用尽,而不是在后续重试可能成功时为每次重试创建一个 ERROR 日志。
也许我遗漏了一些东西,但似乎 retriesExhaustedLogLevel 没有做任何事情......或者如果 ErrorHandler 配置为 DeadLetterChannel,则不会记录任何内容。是否有我仍然需要的配置,或者 RedeliveryPolicy 的这个功能没有针对这个特定的 ErrorHandlerFactory 执行?
我还可以设置一个路由来发送我用尽的消息,这些消息只是记录并路由到我的死信通道,但如果可能的话,我更愿意尝试使用已经内置在 ErrorHandler 中的内容。
jms - 在 JBoss 7.1 中为多个 JMS 队列配置相同的死信队列
我有一个在 JBoss 7.1 上运行的 java 应用程序。它使用了 20 多个 JMS 队列。
我设置 JMS 队列的配置:
现在,我想为以上两个队列配置死信队列。我必须为比赛使用什么价值?
我不能使用#
,因为它将适用于所有 JMS 队列,但我只想要两个。
还有无论如何将消息从死信队列推回原始队列吗?
我正在使用 hornet queue 版本 2.2.13 并希望将通配符用作MX.EQ.*.*.OUT
. 如果我将*
或#
放在字符之间,服务器会在启动期间引发异常。
azureservicebus - 如何使用特定 ServiceInsight 从死信队列重新发送消息?
我们正在实施 ServiceInsight 作为我们的 Azure ServiceBus 监控系统。
我知道可以从错误队列重新发送消息,但是是否可以重新发送死信队列中的消息?
jms - 持久主题订阅和 dead.letter.address 和消息重新传递
我有 jms 主题,它有一个或多个持久订阅。当一个订户导致回滚和另一个成功时,我遇到了这种情况。消息到达死信地址。
在我解决错误并且消息应该能够继续之后,我想将消息移回原始目的地(主题)。问题是,在我这样做之后,所有订阅者都会收到消息,而不仅仅是一个失败的消息。
有没有可能以某种方式解决它?
仅供参考。我使用带有 HornetQ 的 JBoss eap 6.1 作为 jms 提供程序。
amazon-web-services - 如何检查消息是否即将通过 MessageRetentionPeriod?
我有一个使用 SQS 对作业进行排队的应用程序。理想情况下,我希望每项工作都能完成,但有些工作会失败。有时重新运行它们会起作用,有时它们会一直失败,直到达到保留期。. 我想尽可能长时间地将失败的作业保留在队列中,以给他们最大可能的成功机会,所以我不想设置一个maxReceiveCount
. 但我确实想检测作业何时达到MessageRetentionPeriod
限制,因为我需要在作业完全失败时发送警报。目前我的最长保留期为 14 天,但到那时仍有一些工作无法完成。
有没有办法检测作业何时即将到期,并从那里将其发送到死信队列以进行额外处理?