java - 在运行时将 SQS 队列动态修改为 @SqsListener 方法?
问题描述
@SqsListener(value = "foo", deletionPolicy = SqsMessageDeletionPolicy.ON_SUCCESS)
public void fooMethod(final String message) {
processEvents(message);
}
我在我的应用程序中使用spring-cloud-starter-aws-messaging - @SqsListener在启动时加载 foo 队列就好了。但是,当应用程序启动并运行处理来自队列的事件时,如果我想将队列更改为不同的队列,比如动态地说 foo-test,那可能吗?
背景:我正在尝试运行我的部署的测试队列部分,并且部署将从测试队列开始。一旦处理了来自测试队列的消息并且测试成功,我想将队列动态更改为生产队列。
请告知如何实现这一目标。如果有其他方法,请告诉我。谢谢!
解决方案
AFAIK,无法动态切换值。我猜您想这样做,以便您的应用程序仅在您确定应用程序代码足够好并且逻辑没有损坏时才开始使用生产消息。
如果上述假设是正确的,那么当您的应用程序升级到 TEST 环境时,这应该得到验证,或者您可以使用主动/被动 PROD 部署解决它,其中两个部署使用不同的属性。
推荐阅读
- javascript - 如何从 fetch 中提取 HTML 正文?
- python - 如何获得彼此嵌入的许多列表的平均值?
- powershell - 区分 VMWare 中的主节点和辅助节点
- excel - 如何设置嵌套在 for 循环中的 do while 内部循环的值?
- c# - 使用基本 MVC 在 DropDownListFor 的视图中没有显示数据
- vb.net - 如何在 Virtual Studio 中将数据写入一行?(MS Access 数据库文件"
- r - 如何修复“$<-.data.frame`中的错误(`*tmp*`, "x", value = 1L):replacement 有 1 行,数据有 0" 使用 uptR 时?
- sas - 在 SAS Enterprise Guide 中返回 0 的回归结果
- azure - Azure 数据工厂 v2 的 Azure Active Directory 应用程序与 Azure Batch 服务
- spring - 响应来自哪里 - Nginx?应用程序?Kubernetes?其他?