Skip to content

Commit 8a8df90

Browse files
committed
Restore TomcatHeadersAdapter.clear() behavior
This commit restores the original behavior of the clear() method in TomcatHeadersAdapter by delegating to org.apache.tomcat.util.http.MimeHeaders.recycle(), which aligns with the memory efficiency goals documented in the class-level Javadoc for MimeHeaders. See gh-33916 Closes gh-34092
1 parent c8009dc commit 8a8df90

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

Diff for: spring-web/src/main/java/org/springframework/http/server/reactive/TomcatHeadersAdapter.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -163,9 +163,7 @@ public void putAll(Map<? extends String, ? extends List<String>> map) {
163163

164164
@Override
165165
public void clear() {
166-
while (this.headers.size() > 0) {
167-
this.headers.removeHeader(0);
168-
}
166+
this.headers.recycle();
169167
}
170168

171169
@Override

Diff for: spring-web/src/test/java/org/springframework/http/server/reactive/TomcatHeadersAdapterTests.java

+10-2
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,25 @@
2525
* Tests for {@link TomcatHeadersAdapter}.
2626
*
2727
* @author Johnny Lim
28+
* @author Sam Brannen
29+
* @since 7.0
2830
*/
2931
class TomcatHeadersAdapterTests {
3032

33+
private final TomcatHeadersAdapter adapter = new TomcatHeadersAdapter(new MimeHeaders());
34+
35+
3136
@Test
3237
void clear() {
33-
MimeHeaders mimeHeaders = new MimeHeaders();
34-
TomcatHeadersAdapter adapter = new TomcatHeadersAdapter(mimeHeaders);
3538
adapter.add("key1", "value1");
3639
adapter.add("key2", "value2");
40+
assertThat(adapter).isNotEmpty();
41+
assertThat(adapter).hasSize(2);
42+
assertThat(adapter).containsKeys("key1", "key2");
43+
3744
adapter.clear();
3845
assertThat(adapter).isEmpty();
46+
assertThat(adapter).hasSize(0);
3947
}
4048

4149
}

0 commit comments

Comments
 (0)