3535import org .springframework .boot .autoconfigure .kafka .KafkaProperties .Retry .Topic ;
3636import org .springframework .boot .context .properties .EnableConfigurationProperties ;
3737import org .springframework .boot .context .properties .PropertyMapper ;
38+ import org .springframework .boot .ssl .SslBundles ;
3839import org .springframework .context .annotation .Bean ;
3940import org .springframework .context .annotation .Import ;
4041import org .springframework .kafka .core .ConsumerFactory ;
6465 * @author Moritz Halbritter
6566 * @author Andy Wilkinson
6667 * @author Phillip Webb
68+ * @author Andy Wilkinson
69+ * @author Scott Frederick
6770 * @since 1.5.0
6871 */
6972@ AutoConfiguration
@@ -107,8 +110,8 @@ public LoggingProducerListener<Object, Object> kafkaProducerListener() {
107110 @ Bean
108111 @ ConditionalOnMissingBean (ConsumerFactory .class )
109112 public DefaultKafkaConsumerFactory <?, ?> kafkaConsumerFactory (KafkaConnectionDetails connectionDetails ,
110- ObjectProvider <DefaultKafkaConsumerFactoryCustomizer > customizers ) {
111- Map <String , Object > properties = this .properties .buildConsumerProperties ();
113+ ObjectProvider <DefaultKafkaConsumerFactoryCustomizer > customizers , ObjectProvider < SslBundles > sslBundles ) {
114+ Map <String , Object > properties = this .properties .buildConsumerProperties (sslBundles . getIfAvailable () );
112115 applyKafkaConnectionDetailsForConsumer (properties , connectionDetails );
113116 DefaultKafkaConsumerFactory <Object , Object > factory = new DefaultKafkaConsumerFactory <>(properties );
114117 customizers .orderedStream ().forEach ((customizer ) -> customizer .customize (factory ));
@@ -118,8 +121,8 @@ public LoggingProducerListener<Object, Object> kafkaProducerListener() {
118121 @ Bean
119122 @ ConditionalOnMissingBean (ProducerFactory .class )
120123 public DefaultKafkaProducerFactory <?, ?> kafkaProducerFactory (KafkaConnectionDetails connectionDetails ,
121- ObjectProvider <DefaultKafkaProducerFactoryCustomizer > customizers ) {
122- Map <String , Object > properties = this .properties .buildProducerProperties ();
124+ ObjectProvider <DefaultKafkaProducerFactoryCustomizer > customizers , ObjectProvider < SslBundles > sslBundles ) {
125+ Map <String , Object > properties = this .properties .buildProducerProperties (sslBundles . getIfAvailable () );
123126 applyKafkaConnectionDetailsForProducer (properties , connectionDetails );
124127 DefaultKafkaProducerFactory <?, ?> factory = new DefaultKafkaProducerFactory <>(properties );
125128 String transactionIdPrefix = this .properties .getProducer ().getTransactionIdPrefix ();
@@ -155,8 +158,8 @@ public KafkaJaasLoginModuleInitializer kafkaJaasInitializer() throws IOException
155158
156159 @ Bean
157160 @ ConditionalOnMissingBean
158- public KafkaAdmin kafkaAdmin (KafkaConnectionDetails connectionDetails ) {
159- Map <String , Object > properties = this .properties .buildAdminProperties ();
161+ public KafkaAdmin kafkaAdmin (KafkaConnectionDetails connectionDetails , ObjectProvider < SslBundles > sslBundles ) {
162+ Map <String , Object > properties = this .properties .buildAdminProperties (sslBundles . getIfAvailable () );
160163 applyKafkaConnectionDetailsForAdmin (properties , connectionDetails );
161164 KafkaAdmin kafkaAdmin = new KafkaAdmin (properties );
162165 KafkaProperties .Admin admin = this .properties .getAdmin ();
0 commit comments