GH-966 change AWSCompanionAutoConfiguration to be a refular auto-configuration rather than initializer

Resolves #966
This commit is contained in:
Oleg Zhurakousky
2022-12-08 11:11:53 -08:00
parent 3614683b1a
commit 25d524f395
3 changed files with 11 additions and 14 deletions

View File

@@ -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<GenericApplicationContext> {
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);
}
}

View File

@@ -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

View File

@@ -0,0 +1 @@
org.springframework.cloud.function.adapter.aws.AWSCompanionAutoConfiguration