1. Fix HeaderExchangeChannel close potential bug (#11834)

2. 'channel != null' must be satisfied, simplify hashCode and equals
This commit is contained in:
Mengyang Tang 2023-03-16 09:44:53 +08:00 committed by GitHub
parent d061b29b39
commit c8e7ef7892
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 9 deletions

View File

@ -160,6 +160,11 @@ final class HeaderExchangeChannel implements ExchangeChannel {
try {
// graceful close
DefaultFuture.closeChannel(channel);
} catch (Exception e) {
logger.warn(TRANSPORT_FAILED_CLOSE, "", "", e.getMessage(), e);
}
try {
channel.close();
} catch (Exception e) {
logger.warn(TRANSPORT_FAILED_CLOSE, "", "", e.getMessage(), e);
@ -245,7 +250,7 @@ final class HeaderExchangeChannel implements ExchangeChannel {
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((channel == null) ? 0 : channel.hashCode());
result = prime * result + channel.hashCode();
return result;
}
@ -261,14 +266,7 @@ final class HeaderExchangeChannel implements ExchangeChannel {
return false;
}
HeaderExchangeChannel other = (HeaderExchangeChannel) obj;
if (channel == null) {
if (other.channel != null) {
return false;
}
} else if (!channel.equals(other.channel)) {
return false;
}
return true;
return channel.equals(other.channel);
}
@Override