java - 使用 java 和 spring 的 AWS SQS 异步查询监听器。如何将环境变量中的值插入@MessageMapping注释

标签 java spring amazon-web-services amazon-sqs

我在 Amazon SQS 中有一堆队列,并且有一个在 Spring 服务中运行的异步队列监听器。我关注了this tutorial它就像一个魅力。我的问题是,我不能只是将队列名称硬编码到 @MessageMapping 注释中,我需要能够从用户定义的环境变量中获取它。这就是我正在谈论的一点......

@MessageMapping("queueName")
public void onSQSMessage(String payload) {
    //handle payload
}

如果我只是硬编码队列名称,这效果很好,但它需要来自环境变量。任何帮助将不胜感激!

最佳答案

你已经可以使用表达语言一段时间了。

@MessageMapping(${"queueName"})
public void onSQSMessage(String payload) {
    //handle payload
}

查看 JIRA 问题: https://jira.spring.io/browse/SPR-13271

关于java - 使用 java 和 spring 的 AWS SQS 异步查询监听器。如何将环境变量中的值插入@MessageMapping注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46717728/

相关文章:

解决vendor machine 'change giving'问题的Java算法

java - for 循环第一次运行时什么都不做?可能是编程逻辑错误?

java - 具有 null 返回值的 Spring Ajax @ResponseBody

java - @Async 在 REST 类中不起作用

amazon-web-services - 排队 CodeBuild 任务

amazon-web-services - 如何根据环境给出云形成的单独变量

java - 如何从 String, Android/Java 获取多个子字符串

Java 应用程序在 Netbeans 之外无法正常工作

javascript - 使用多部分文件和 json 数据响应 ajax 请求

java - 创建超过 30gb 的 EC2 实例 - 在 Java 中