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.JacksonMapper;
import org.springframework.cloud.function.json.JsonMapper; 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.context.support.GenericApplicationContext;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
/** /**
* *
* @author Oleg Zhurakousky * @author Oleg Zhurakousky
* @since 3.2 * @since 3.2
* *
*/ */
public class AWSCompanionAutoConfiguration implements ApplicationContextInitializer<GenericApplicationContext> { public class AWSCompanionAutoConfiguration {
@Override @Bean
public void initialize(GenericApplicationContext applicationContext) { public AWSTypesMessageConverter awsTypesMessageConverter(GenericApplicationContext applicationContext) {
applicationContext.registerBean("awsTypesMessageConverter", AWSTypesMessageConverter.class, JsonMapper jsonMapper = CollectionUtils.isEmpty(applicationContext.getBeansOfType(JsonMapper.class).values())
() -> { ? new JacksonMapper(new ObjectMapper())
if (CollectionUtils.isEmpty(applicationContext.getBeansOfType(JsonMapper.class).values())) { : applicationContext.getBean(JsonMapper.class);
return new AWSTypesMessageConverter(new JacksonMapper(new ObjectMapper())); return new AWSTypesMessageConverter(jsonMapper);
}
else {
return new AWSTypesMessageConverter(applicationContext.getBean(JsonMapper.class));
}
});
} }
} }

View File

@@ -1,2 +1,2 @@
org.springframework.context.ApplicationContextInitializer=\ 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