@@ -187,6 +187,7 @@ public void setClientIdSuffix(String clientIdSuffix) {
187187 * either explicitly or by Kafka; may be null if not assigned yet.
188188 */
189189 @ Override
190+ @ Nullable
190191 public Collection <TopicPartition > getAssignedPartitions () {
191192 ListenerConsumer listenerConsumer = this .listenerConsumer ;
192193 if (listenerConsumer != null ) {
@@ -1402,17 +1403,19 @@ public String toString() {
14021403 + "]" ;
14031404 }
14041405
1405- private void closeProducers (Collection <TopicPartition > partitions ) {
1406- ProducerFactory <?, ?> producerFactory = this .kafkaTxManager .getProducerFactory ();
1407- partitions .forEach (tp -> {
1408- try {
1409- producerFactory .closeProducerFor (zombieFenceTxIdSuffix (tp .topic (), tp .partition ()));
1410- }
1411- catch (Exception e ) {
1412- this .logger .error ("Failed to close producer with transaction id suffix: "
1413- + zombieFenceTxIdSuffix (tp .topic (), tp .partition ()), e );
1414- }
1415- });
1406+ private void closeProducers (@ Nullable Collection <TopicPartition > partitions ) {
1407+ if (partitions != null ) {
1408+ ProducerFactory <?, ?> producerFactory = this .kafkaTxManager .getProducerFactory ();
1409+ partitions .forEach (tp -> {
1410+ try {
1411+ producerFactory .closeProducerFor (zombieFenceTxIdSuffix (tp .topic (), tp .partition ()));
1412+ }
1413+ catch (Exception e ) {
1414+ this .logger .error ("Failed to close producer with transaction id suffix: "
1415+ + zombieFenceTxIdSuffix (tp .topic (), tp .partition ()), e );
1416+ }
1417+ });
1418+ }
14161419 }
14171420
14181421 private String zombieFenceTxIdSuffix (String topic , int partition ) {
0 commit comments