From 941b92cbede8536e384d766091d625c89f1980d0 Mon Sep 17 00:00:00 2001 From: "evgeny.bovykin" Date: Mon, 9 May 2022 21:39:05 +0200 Subject: [PATCH] Make inner classes static when feasible A static nested class does not keep an implicit reference to its enclosing instance. This prevents a common cause of memory leaks and uses less memory per instance of the class. Closes gh-28433 --- .../http/server/reactive/UndertowHttpHandlerAdapter.java | 2 +- .../web/reactive/resource/VersionResourceResolver.java | 2 +- .../socket/server/upgrade/UndertowRequestUpgradeStrategy.java | 2 +- .../web/servlet/resource/VersionResourceResolver.java | 2 +- .../sockjs/transport/handler/XhrStreamingTransportHandler.java | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowHttpHandlerAdapter.java b/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowHttpHandlerAdapter.java index 3364a95493d..09037ecc158 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowHttpHandlerAdapter.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowHttpHandlerAdapter.java @@ -88,7 +88,7 @@ public class UndertowHttpHandlerAdapter implements io.undertow.server.HttpHandle } - private class HandlerResultSubscriber implements Subscriber { + private static class HandlerResultSubscriber implements Subscriber { private final HttpServerExchange exchange; diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/VersionResourceResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/VersionResourceResolver.java index ff712f7068b..12b693b4f8c 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/VersionResourceResolver.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/VersionResourceResolver.java @@ -236,7 +236,7 @@ public class VersionResourceResolver extends AbstractResourceResolver { } - private class FileNameVersionedResource extends AbstractResource implements HttpResource { + private static class FileNameVersionedResource extends AbstractResource implements HttpResource { private final Resource original; diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/UndertowRequestUpgradeStrategy.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/UndertowRequestUpgradeStrategy.java index 973bbf4fb2e..4a0e26589fc 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/UndertowRequestUpgradeStrategy.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/upgrade/UndertowRequestUpgradeStrategy.java @@ -82,7 +82,7 @@ public class UndertowRequestUpgradeStrategy implements RequestUpgradeStrategy { } - private class DefaultCallback implements WebSocketConnectionCallback { + private static class DefaultCallback implements WebSocketConnectionCallback { private final HandshakeInfo handshakeInfo; diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/VersionResourceResolver.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/VersionResourceResolver.java index d2041e5b656..753e06fbefb 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/VersionResourceResolver.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/VersionResourceResolver.java @@ -232,7 +232,7 @@ public class VersionResourceResolver extends AbstractResourceResolver { } - private class FileNameVersionedResource extends AbstractResource implements HttpResource { + private static class FileNameVersionedResource extends AbstractResource implements HttpResource { private final Resource original; diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/handler/XhrStreamingTransportHandler.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/handler/XhrStreamingTransportHandler.java index f947643205c..08682e3c487 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/handler/XhrStreamingTransportHandler.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/handler/XhrStreamingTransportHandler.java @@ -75,7 +75,7 @@ public class XhrStreamingTransportHandler extends AbstractHttpSendingTransportHa } - private class XhrStreamingSockJsSession extends StreamingSockJsSession { + private static class XhrStreamingSockJsSession extends StreamingSockJsSession { public XhrStreamingSockJsSession(String sessionId, SockJsServiceConfig config, WebSocketHandler wsHandler, Map attributes) {