2016-02-11 47 views
0

我們想爲AWS SQS使用Spring Cloud,但在我看來,它只允許我們指定區域。我們可以僞裝它,以便它使用ElasticMQ(例如在localhost:9320上)?我沒有找到一個簡單的方法來做到這一點,而無需編輯主機文件並將證書放在本地主機上如何使用彈性雲與ElasticMQ

回答

2

我找到了一種方法,經過一些研究。 您應該設置一個端點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實例。

+0

謝謝,解決了消息傳遞模板問題。 你有沒有找到一種方法來覆蓋它的隊列監聽器呢? –