【问题标题】:How to use a Spring @MessageMapping from properties to set an annotation attribute如何使用属性中的 Spring @MessageMapping 设置注释属性
【发布时间】:2016-10-22 19:14:43
【问题描述】:

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

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

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

类似

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

【问题讨论】:

    标签: spring-boot spring-cloud amazon-sqs spring-messaging


    【解决方案1】:

    我会尝试两种选择:

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

    公共类示例{

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

    在 yml 文件中:

    spring:
      profiles: prod
      app: 'queueName1'
    
    spring:
      profiles: dev
      app: 'queueName2'
    

    【讨论】:

      猜你喜欢
      • 2018-07-20
      • 1970-01-01
      • 1970-01-01
      • 2017-01-15
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多