I should probably remove these debug logs and just add a comment, the logs are really noise. This fix is specifically to convey a socket error to a thread waiting for a reply in the outbound gateway. For the other endpoint types that are `TcpListeners` (inbound gateway, inbound adapter), there is no thread "waiting" for a reply. However, the underlying infrastructure doesn't (and shouldn't) know anything about his listeners, so we always have to send the error. But, in these cases, they have no interest - and we definitely don't want to start adding `ErrorMessage`s to a channel (it would break applications that don't know about them). For applications that want to know about changes to a connection status, they can use the new TCP `ApplicationEvent`s.