From 3d0836f338be3eceb4804f9aa1ac544b602b7381 Mon Sep 17 00:00:00 2001 From: Patrick Strawderman Date: Tue, 10 Jun 2025 14:28:32 -0700 Subject: [PATCH] Use String.replace in MetadataEncoder Use String.replace instead of replaceAll in MetadataEncoder; since Java 9, String.replace no longer uses a regex, while replaceAll does. The use case here of replacing a single character does not require a regex. Signed-off-by: Patrick Strawderman --- .../org/springframework/messaging/rsocket/MetadataEncoder.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/spring-messaging/src/main/java/org/springframework/messaging/rsocket/MetadataEncoder.java b/spring-messaging/src/main/java/org/springframework/messaging/rsocket/MetadataEncoder.java index 5f153b3c39b2..52972be09a14 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/rsocket/MetadataEncoder.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/rsocket/MetadataEncoder.java @@ -106,8 +106,7 @@ private static String expand(String route, Object... routeVars) { Matcher matcher = VARS_PATTERN.matcher(route); while (matcher.find()) { Assert.isTrue(index < routeVars.length, () -> "No value for variable '" + matcher.group(1) + "'"); - String value = routeVars[index].toString(); - value = value.contains(".") ? value.replaceAll("\\.", "%2E") : value; + String value = routeVars[index].toString().replace(".", "%2E"); matcher.appendReplacement(sb, value); index++; }