This commit adds the ability for users to customize the auto-configured Spring for Apache Pulsar message container factories. Each container factory holds a set of container properties that is a common target for users to configure. Allowing the customization of these properties prevents a rapid increase of configuration properties for secondary priority properties.
[!NOTE] I originally submitted a PR to add config props for the startup failure options and timeout. However, in most cases, that alone is not sufficient and users will want to create their own retry template custom to their environment/scenario. This lead for the need to either allow users to configure in retry templates for each container (which would require
@Qualiferand got messy quick. By allowing customization of the container factory we allow ourselves to get out of the "I need to add another config property" business for properties that are not primary in nature. Configuring the startup failure policy is probably not a primary operation. If we agree w/ this then the other PR can be closed in favor of this proposal.
Comment From: snicoll
Thanks for the PR. Rather than 3 customizer interfaces, can you please look if we could replace that with a generic? See org.springframework.boot.autoconfigure.cache.CacheManagerCustomizers for an example of how that can be used.
Comment From: onobc
@snicoll thanks for pointing out the CacheManagerCustomizers. I have done the same in the latest commit. The cache manager would have an explosion of interfaces had you not introduced the customizers concept then. Thanks for that - it also cleaned up these 3 into 1.