簡體   English   中英

awspring SQS 配置在 Spring 引導項目中不起作用

[英]awspring SQS Configuration not working in Spring Boot Project

我們正在嘗試從 spring 雲 AWS 遷移到新的io.awspring.cloud項目。 該文檔指出:

AmazonSQSAsync 客戶端會根據提供的憑證自動創建並傳遞給模板的構造函數。

我正在嘗試在本地運行它。 在我的pom.xml我添加了依賴項:

<dependency>
   <groupId>io.awspring.cloud</groupId>
   <artifactId>spring-cloud-aws-messaging</artifactId>
   <version>${spring.cloud.aws}</version> 
</dependency>

我刪除了創建 AmazonSQSAsync 客戶端的代碼。 根據文檔,我仍然定義了一個 QueueMessagingTemplate

import io.awspring.cloud.messaging.core.QueueMessagingTemplate;
import com.amazonaws.services.sqs.AmazonSQSAsync;

@Bean
@Qualifier
public QueueMessagingTemplate queueMessagingTemplateFifoSupport(AmazonSQSAsync amazonSQSAsync,
        ObjectMapper objectMapper) {
    MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
    converter.setSerializedPayloadClass(String.class);
    converter.setObjectMapper(objectMapper);

    QueueMessagingTemplate messagingTemplate = new QueueMessagingTemplate(amazonSQSAsync);
    messagingTemplate.setMessageConverter(converter);

    return messagingTemplate;
}

package 命名空間已更新為使用 io.awspring。 運行應用程序時出現錯誤:

No qualifying bean of type 'com.amazonaws.services.sqs.AmazonSQSAsync' available

我的信念是 Spring 應該自動提供這個客戶端。 我錯過了什么嗎?

在我的應用程序屬性中,我定義了:

  • cloud.aws.credentials.access-key
  • cloud.aws.credentials.secret-key
  • cloud.aws.region.static

我缺少一個依賴項:

<dependency>
  <groupId>io.awspring.cloud</groupId>
  <artifactId>spring-cloud-aws-autoconfigure</artifactId>
  <version>${spring.cloud.aws}</version>
</dependency>

這是自動創建默認客戶端所必需的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM