2016-02-11 2 views
0

Мы хотим использовать Spring Cloud для AWS SQS, но мне кажется, что он позволяет нам указывать регион. Можем ли мы подделать его так, чтобы он использовал ElasticMQ (например, на localhost: 9320)? Я не нашел простой способ сделать это без редактирования файлов hosts и размещения сертификатов на localhostКак использовать Spring Cloud с 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

Спасибо, что решает проблему шаблона обмена сообщениями. Вы нашли способ переопределить его для слушателей очереди? –

Смежные вопросы