如何使用属性中的Spring @MessageMapping来设置注释属性

时间:2016-10-22 19:14:44

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

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

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

有什么方法可以解决这个问题吗?

类似

$(document).ready( function () {	
$('#newcheckbox').html('<input type="checkbox"name="NewMerheckbox" id="4"/>');
		$("input[name='NewMerheckbox']").on("click", function () {
		alert( "HeyI am calling same Function  My Id Is  " + $(this).attr('id'));
	});
	
});

1 个答案:

答案 0 :(得分:1)

我会尝试两种选择:

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

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

    在yml文件中:

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