GH-9694: Remove duplicate SocketChannel initialization

Fixes: #9694
Issue link: https://github.com/spring-projects/spring-integration/issues/9694

- Add null check before closing `socketChannel` in catch block
- Prevents potential `NullPointerException` during error handling
This commit is contained in:
Jooyoung Pyoung
2024-12-07 06:59:19 +09:00
committed by Artem Bilan
parent f56f5cf76b
commit 1d66863e0d

View File

@@ -39,6 +39,7 @@ import org.springframework.util.Assert;
* @author Gary Russell
* @author Artem Bilan
* @author Christian Tzolov
* @author Jooyoung Pyoung
*
* @since 2.0
*
@@ -84,8 +85,9 @@ public class TcpNioClientConnectionFactory extends
@Override
protected TcpConnectionSupport buildNewConnection() {
SocketChannel socketChannel = null;
try {
SocketChannel socketChannel = SocketChannel.open();
socketChannel = SocketChannel.open();
setSocketAttributes(socketChannel.socket());
connect(socketChannel);
TcpNioConnection connection =
@@ -112,6 +114,14 @@ public class TcpNioClientConnectionFactory extends
return wrappedConnection;
}
catch (IOException e) {
try {
if (socketChannel != null) {
socketChannel.close();
}
}
catch (IOException e2) {
logger.error(e2, "Error closing socket channel");
}
throw new UncheckedIOException(e);
}
catch (InterruptedException e) {