diff --git a/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/java/org/springframework/cloud/function/adapter/aws/AWSCompanionAutoConfiguration.java b/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/java/org/springframework/cloud/function/adapter/aws/AWSCompanionAutoConfiguration.java index 2d61cf37c..de6ac6721 100644 --- a/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/java/org/springframework/cloud/function/adapter/aws/AWSCompanionAutoConfiguration.java +++ b/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/java/org/springframework/cloud/function/adapter/aws/AWSCompanionAutoConfiguration.java @@ -20,28 +20,24 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.cloud.function.json.JacksonMapper; import org.springframework.cloud.function.json.JsonMapper; -import org.springframework.context.ApplicationContextInitializer; +import org.springframework.context.annotation.Bean; import org.springframework.context.support.GenericApplicationContext; import org.springframework.util.CollectionUtils; + /** * * @author Oleg Zhurakousky * @since 3.2 * */ -public class AWSCompanionAutoConfiguration implements ApplicationContextInitializer { +public class AWSCompanionAutoConfiguration { - @Override - public void initialize(GenericApplicationContext applicationContext) { - applicationContext.registerBean("awsTypesMessageConverter", AWSTypesMessageConverter.class, - () -> { - if (CollectionUtils.isEmpty(applicationContext.getBeansOfType(JsonMapper.class).values())) { - return new AWSTypesMessageConverter(new JacksonMapper(new ObjectMapper())); - } - else { - return new AWSTypesMessageConverter(applicationContext.getBean(JsonMapper.class)); - } - }); + @Bean + public AWSTypesMessageConverter awsTypesMessageConverter(GenericApplicationContext applicationContext) { + JsonMapper jsonMapper = CollectionUtils.isEmpty(applicationContext.getBeansOfType(JsonMapper.class).values()) + ? new JacksonMapper(new ObjectMapper()) + : applicationContext.getBean(JsonMapper.class); + return new AWSTypesMessageConverter(jsonMapper); } } diff --git a/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/resources/META-INF/spring.factories b/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/resources/META-INF/spring.factories index f003e8a29..f28be4c77 100644 --- a/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/resources/META-INF/spring.factories +++ b/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/resources/META-INF/spring.factories @@ -1,2 +1,2 @@ org.springframework.context.ApplicationContextInitializer=\ -org.springframework.cloud.function.adapter.aws.CustomRuntimeInitializer,org.springframework.cloud.function.adapter.aws.AWSCompanionAutoConfiguration +org.springframework.cloud.function.adapter.aws.CustomRuntimeInitializer diff --git a/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 000000000..939bd963c --- /dev/null +++ b/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +org.springframework.cloud.function.adapter.aws.AWSCompanionAutoConfiguration