Использование AmazonSQSExtendedClient с AmazonSQSAsync - PullRequest
0 голосов
/ 08 февраля 2020

Итак, насколько я понимаю, благодаря использованию AmazonSQSExtendedClient полезные данные, размер которых превышает 256 КБ, будут храниться во временном интервале ( см. Руководство здесь ). У меня возникли проблемы с реализацией этого с помощью AmazonSQSAsyn c. Из-за того, как настроена текущая система, в настоящее время я использую AmazonSQSAsyn c, например, так:

@Bean
@Primary
AmazonSQSAsync amazonSQSAsync() {
   return AmazonSQSAsyncClientBuilder
            .standard()
            .withEndpointConfiguration(
                    new AwsClientBuilder.EndpointConfiguration(
                            endpoint_url,
                            signin_region))
            .build()
}

Теперь я хочу заменить это расширенным клиентом для обработки полезных нагрузок, которые более 256кб. Пока у меня есть что-то вроде этого:

@Bean
@Primary
AmazonSQS amazonSQSWithExtendedClient() {
    final AmazonS3 s3 = AmazonS3ClientBuilder.defaultClient()

    final BucketLifecycleConfiguration.Rule expirationRule =
            new BucketLifecycleConfiguration.Rule()
    expirationRule.withExpirationInDays(14).withStatus("Enabled")
    final BucketLifecycleConfiguration lifecycleConfig =
            new BucketLifecycleConfiguration().withRules(expirationRule)

    s3.setBucketLifecycleConfiguration(temp_bucket, lifecycleConfig)

    // Keep this part
    final ExtendedClientConfiguration extendedClientConfig =
            new ExtendedClientConfiguration()
                    .withLargePayloadSupportEnabled(s3, temp_bucket)

    final AmazonSQS sqsExtended = new AmazonSQSExtendedClient(AmazonSQSClientBuilder
            .standard()
            .withEndpointConfiguration(
                    new AwsClientBuilder.EndpointConfiguration(
                            endpoint_url,
                            signin_region))
            .build(), extendedClientConfig)

    return sqsExtended
}

Есть ли способ заставить расширенный клиент работать с AmazonSQSAsyn c или, по крайней мере, иметь какой-то обходной путь?

...