44
44
import software .amazon .kinesis .exceptions .InvalidStateException ;
45
45
import software .amazon .kinesis .exceptions .ShutdownException ;
46
46
import software .amazon .kinesis .exceptions .ThrottlingException ;
47
+ import software .amazon .kinesis .lifecycle .LifecycleConfig ;
47
48
import software .amazon .kinesis .lifecycle .events .InitializationInput ;
48
49
import software .amazon .kinesis .lifecycle .events .LeaseLostInput ;
49
50
import software .amazon .kinesis .lifecycle .events .ProcessRecordsInput ;
57
58
import software .amazon .kinesis .processor .SingleStreamTracker ;
58
59
import software .amazon .kinesis .processor .StreamTracker ;
59
60
import software .amazon .kinesis .retrieval .KinesisClientRecord ;
61
+ import software .amazon .kinesis .retrieval .RetrievalConfig ;
60
62
import software .amazon .kinesis .retrieval .RetrievalSpecificConfig ;
61
63
import software .amazon .kinesis .retrieval .fanout .FanOutConfig ;
62
64
import software .amazon .kinesis .retrieval .polling .PollingConfig ;
@@ -276,28 +278,6 @@ protected void onInit() {
276
278
this .cloudWatchClient ,
277
279
this .workerId ,
278
280
this .recordProcessorFactory );
279
-
280
- this .config .lifecycleConfig ().taskBackoffTimeMillis (this .consumerBackoff );
281
-
282
- RetrievalSpecificConfig retrievalSpecificConfig ;
283
-
284
- String singleStreamName = this .streams .length == 1 ? this .streams [0 ] : null ;
285
-
286
- if (this .fanOut ) {
287
- retrievalSpecificConfig =
288
- new FanOutConfig (this .kinesisClient )
289
- .applicationName (this .consumerGroup )
290
- .streamName (singleStreamName );
291
- }
292
- else {
293
- retrievalSpecificConfig =
294
- new PollingConfig (this .kinesisClient )
295
- .streamName (singleStreamName );
296
- }
297
-
298
- this .config .retrievalConfig ()
299
- .glueSchemaRegistryDeserializer (this .glueSchemaRegistryDeserializer )
300
- .retrievalSpecificConfig (retrievalSpecificConfig );
301
281
}
302
282
303
283
private StreamTracker buildStreamTracker () {
@@ -320,15 +300,36 @@ protected void doStart() {
320
300
+ "because it does not make sense in case of [ListenerMode.batch]." );
321
301
}
322
302
303
+ LifecycleConfig lifecycleConfig = this .config .lifecycleConfig ();
304
+ lifecycleConfig .taskBackoffTimeMillis (this .consumerBackoff );
305
+
306
+ RetrievalSpecificConfig retrievalSpecificConfig ;
307
+ String singleStreamName = this .streams .length == 1 ? this .streams [0 ] : null ;
308
+ if (this .fanOut ) {
309
+ retrievalSpecificConfig =
310
+ new FanOutConfig (this .kinesisClient )
311
+ .applicationName (this .consumerGroup )
312
+ .streamName (singleStreamName );
313
+ }
314
+ else {
315
+ retrievalSpecificConfig =
316
+ new PollingConfig (this .kinesisClient )
317
+ .streamName (singleStreamName );
318
+ }
319
+
320
+ RetrievalConfig retrievalConfig = this .config .retrievalConfig ()
321
+ .glueSchemaRegistryDeserializer (this .glueSchemaRegistryDeserializer )
322
+ .retrievalSpecificConfig (retrievalSpecificConfig );
323
+
323
324
this .scheduler =
324
325
new Scheduler (
325
326
this .config .checkpointConfig (),
326
327
this .config .coordinatorConfig (),
327
328
this .config .leaseManagementConfig (),
328
- this . config . lifecycleConfig () ,
329
+ lifecycleConfig ,
329
330
this .config .metricsConfig (),
330
331
this .config .processorConfig (),
331
- this . config . retrievalConfig () );
332
+ retrievalConfig );
332
333
333
334
this .executor .execute (this .scheduler );
334
335
}
0 commit comments