如何将Spring Cloud与ElasticMQ一起使用

时间:2016-02-11 15:07:21

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

我们希望将Spring Cloud用于AWS SQS,但在我看来,它只允许我们指定区域。我们可以伪造它以便它使用ElasticMQ(例如在localhost:9320上)吗?没有编辑主机文件并将证书放在localhost

上,我找不到一种简单的方法

1 个答案:

答案 0 :(得分:4)

经过一些研究,我找到了一条路。 您应该在注入AmazonSQS实例后设置端点,以覆盖已设置的端点,如下所示:

@Autowired
public void setAmazonSqs(AmazonSQS amazonSqs)
{
    this.amazonSqs = amazonSqs;

    // use elasticMQ if spring default profile is used; no active profiles
    if (environment.getActiveProfiles().length == 0)
    {
        amazonSqs.setEndpoint("http://localhost:9320");
    }
}

如果您打算使用QueueMessagingTemplate,则由您决定是否应该修改注入的AmazonSQS实例。