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/

相关文章:

java - 编译时 SQLite 语法错误 : INSERT INTO

java - 使用trim()但仍然没有得到预期的输出

asp.net - 使用 Asp.net 的亚马逊图书搜索 API

java - 如何在Java中的表的列中添加复选框

java - Jersey Response.seeOther() 未给出 HTTP 303 状态代码

java - 选项卡式设计中的 ListView 空指针

java - Tomcat/IntelliJ 运行失败

spring - 如何使用多个相互调用的自定义过滤器?

hadoop - AWS China hadoop master-将hdfs文件复制到S3的S3DistCp命令抛出NoClassDefFoundError:com/google/gson/internal/Pair

node.js - 在 NodeJS lambda 中使用自定义层