diff --git a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/TcpOutboundGateway.java b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/TcpOutboundGateway.java index fbf536f077..e5c7c3546a 100644 --- a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/TcpOutboundGateway.java +++ b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/TcpOutboundGateway.java @@ -171,8 +171,12 @@ public class TcpOutboundGateway extends AbstractReplyProducingMessageHandler * @throws Exception */ public Message getReply() throws Exception { - if (!this.latch.await(replyTimeout, TimeUnit.MILLISECONDS)) { - return null; + try { + if (!this.latch.await(replyTimeout, TimeUnit.MILLISECONDS)) { + return null; + } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); } return this.reply; } diff --git a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/connection/TcpNioClientConnectionFactory.java b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/connection/TcpNioClientConnectionFactory.java index 198ff68624..ecc858a115 100644 --- a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/connection/TcpNioClientConnectionFactory.java +++ b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/connection/TcpNioClientConnectionFactory.java @@ -65,7 +65,11 @@ public class TcpNioClientConnectionFactory extends public TcpConnection getConnection() throws Exception { int n = 0; while (this.selector == null) { - Thread.sleep(100); + try { + Thread.sleep(100); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } if (n++ > 600) { throw new Exception("Factory failed to start"); } diff --git a/spring-integration-ip/src/main/java/org/springframework/integration/ip/udp/UnicastSendingMessageHandler.java b/spring-integration-ip/src/main/java/org/springframework/integration/ip/udp/UnicastSendingMessageHandler.java index 12db7464cb..e544ebfd6d 100644 --- a/spring-integration-ip/src/main/java/org/springframework/integration/ip/udp/UnicastSendingMessageHandler.java +++ b/spring-integration-ip/src/main/java/org/springframework/integration/ip/udp/UnicastSendingMessageHandler.java @@ -198,7 +198,9 @@ public class UnicastSendingMessageHandler extends this.taskExecutor.execute(this); try { ackLatch.await(10000, TimeUnit.MILLISECONDS); - } catch (InterruptedException e) { } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } } } } @@ -218,8 +220,12 @@ public class UnicastSendingMessageHandler extends this.send(packet); logger.debug("Sent packet for message " + message); if (this.waitForAck) { - if (!countdownLatch.await(this.ackTimeout, TimeUnit.MILLISECONDS)) { - throw new MessagingException(message, "Failed to receive UDP Ack in " + ackTimeout + " millis"); + try { + if (!countdownLatch.await(this.ackTimeout, TimeUnit.MILLISECONDS)) { + throw new MessagingException(message, "Failed to receive UDP Ack in " + ackTimeout + " millis"); + } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); } } }