Итак, насколько я понимаю, благодаря использованию 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 или, по крайней мере, иметь какой-то обходной путь?