diff --git a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/connection/TcpNioConnection.java b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/connection/TcpNioConnection.java index f723ab18ac..b9a1305d0c 100644 --- a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/connection/TcpNioConnection.java +++ b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/connection/TcpNioConnection.java @@ -164,6 +164,7 @@ public class TcpNioConnection extends AbstractTcpConnection { this.executionControl.incrementAndGet(); this.taskExecutor.execute(this); } + this.executionControl.decrementAndGet(); if (message != null) { sendToChannel(message); } @@ -172,7 +173,6 @@ public class TcpNioConnection extends AbstractTcpConnection { logger.error("Unexpected exception, exiting...", e); return; } - this.executionControl.decrementAndGet(); } finally { logger.trace("Nio message assembler exiting..."); // Final check in case new data came in and the