From 041290dbb8e72966c1540e3d253d891c579f45b9 Mon Sep 17 00:00:00 2001 From: Artem Bilan Date: Tue, 28 Mar 2017 14:51:42 -0400 Subject: [PATCH] GH-60: Fix NPE in KinesisMessageDrivenChAdapter Fixes: spring-projects/spring-integration-aws#60 The attempts to extract `this.consumerInvokers.get(0)` when the `concurrency == 0` lead to the NPE * Wrap `this.consumerInvokers.get(0)` block to the `if(concurrency != 0)` --- .../kinesis/KinesisMessageDrivenChannelAdapter.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/springframework/integration/aws/inbound/kinesis/KinesisMessageDrivenChannelAdapter.java b/src/main/java/org/springframework/integration/aws/inbound/kinesis/KinesisMessageDrivenChannelAdapter.java index e4fe0bb..800c5c2 100644 --- a/src/main/java/org/springframework/integration/aws/inbound/kinesis/KinesisMessageDrivenChannelAdapter.java +++ b/src/main/java/org/springframework/integration/aws/inbound/kinesis/KinesisMessageDrivenChannelAdapter.java @@ -552,9 +552,11 @@ public class KinesisMessageDrivenChannelAdapter extends MessageProducerSupport i } } - ConsumerInvoker firstConsumerInvoker = this.consumerInvokers.get(0); - firstConsumerInvoker.addConsumer(shardConsumer); - this.consumerInvokerMaxCapacity = firstConsumerInvoker.consumers.size(); + if (this.concurrency != 0) { + ConsumerInvoker firstConsumerInvoker = this.consumerInvokers.get(0); + firstConsumerInvoker.addConsumer(shardConsumer); + this.consumerInvokerMaxCapacity = firstConsumerInvoker.consumers.size(); + } } } }