0

我正在使用 SQS spring-boot:spring-cloud,我想外部化参数,根据活动配置文件检索值

@MessageMapping("static.queue")
public void receiveMessage(Payload payload) {
  // ...
}

有没有办法解决这个问题?

就像是

@MessageMapping("${properties.dynamic}")
public void receiveMessage(Payload payload) {
  // ...
}
4

1 回答 1

1

我会尝试两种选择:

  1. 使用项目spring-could-aws。您可以使用 注释您的 SQS 队列侦听器@SqsAnnotation
  2. 使用 JMS 接口访问 SQS 队列。在这种情况下,您可以使用普通的 Spring JMS 特性(例如@JmsListener)。
  3. @MessageMapping支持 MessageMapping 注解中的表达式:

公共类示例{

@MessageMapping("${spring.app}")
public void receiveMessage(Payload payload)  {
    // do
}}

在 yml 文件中:

spring:
  profiles: prod
  app: 'queueName1'

spring:
  profiles: dev
  app: 'queueName2'
于 2016-10-23T02:27:27.970 回答