@@ -290,8 +290,8 @@ private MessageHandlerContext(
290
290
long offset , long timestamp , long committedOffset , Consumer consumer ) {
291
291
this .offset = offset ;
292
292
this .timestamp = timestamp ;
293
- this .consumer = consumer ;
294
293
this .committedOffset = committedOffset ;
294
+ this .consumer = consumer ;
295
295
}
296
296
297
297
@ Override
@@ -438,7 +438,7 @@ private ClientSubscriptionsManager(
438
438
subscriptionId & 0xFF ,
439
439
Utils .formatConstant (responseCode ));
440
440
MessageListener messageListener =
441
- (subscriptionId , offset , committedOffset , chunkTimestamp , message ) -> {
441
+ (subscriptionId , offset , chunkTimestamp , committedOffset , message ) -> {
442
442
SubscriptionTracker subscriptionTracker =
443
443
subscriptionTrackers .get (subscriptionId & 0xFF );
444
444
if (subscriptionTracker != null ) {
@@ -559,6 +559,7 @@ private ClientSubscriptionsManager(
559
559
.metadataListener (metadataListener ))
560
560
.key (owner .name );
561
561
this .client = clientFactory .client (clientFactoryContext );
562
+ maybeExchangeCommandVersions (client );
562
563
clientInitializedInManager .set (true );
563
564
}
564
565
@@ -848,4 +849,14 @@ public String toString() {
848
849
return "SubscriptionContext{" + "offsetSpecification=" + offsetSpecification + '}' ;
849
850
}
850
851
}
852
+
853
+ private static void maybeExchangeCommandVersions (Client client ) {
854
+ try {
855
+ if (Utils .is3_11_OrMore (client .brokerVersion ())) {
856
+ client .exchangeCommandVersions ();
857
+ }
858
+ } catch (Exception e ) {
859
+ LOGGER .info ("Error while exchanging command versions: {}" , e .getMessage ());
860
+ }
861
+ }
851
862
}
0 commit comments