You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/01/16 04:20:55 UTC

[camel] branch master updated: Use String#replace instead of String#replaceAll where possible for improved performance. (#3485)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 0b8e711  Use String#replace instead of String#replaceAll where possible for improved performance. (#3485)
0b8e711 is described below

commit 0b8e7116143f0b1a6aef4d63d2bc8be3215cff0e
Author: Pascal Schumacher <pa...@gmx.net>
AuthorDate: Thu Jan 16 05:20:40 2020 +0100

    Use String#replace instead of String#replaceAll where possible for improved performance. (#3485)
---
 .../apache/camel/parser/helper/CamelJavaParserHelper.java  |  6 +++---
 .../aws/xray/decorators/http/RestSegmentDecorator.java     |  2 +-
 .../apache/camel/component/aws/xray/json/JsonParser.java   |  2 +-
 .../camel/component/box/internal/BoxConnectionHelper.java  |  2 +-
 .../org/apache/camel/component/consul/ConsulRegistry.java  | 14 +++++++-------
 .../consul/health/ConsulHealthCheckRepository.java         |  2 +-
 .../cms/crypt/EnvelopedDataEncryptorConfiguration.java     |  2 +-
 .../org/apache/camel/component/docker/DockerComponent.java |  2 +-
 .../org/apache/camel/component/elsql/ElsqlProducer.java    |  2 +-
 .../camel/component/hdfs/HaConfigurationBuilder.java       |  2 +-
 .../org/apache/camel/component/irc/IrcConfiguration.java   |  2 +-
 .../camel/component/mongodb/meta/MongoDBMetaExtension.java |  2 +-
 .../camel/opentracing/decorators/RestSpanDecorator.java    |  2 +-
 .../internal/processor/AbstractRestProcessor.java          |  2 +-
 .../camel/component/salesforce/LoginConfigHelper.java      |  2 +-
 .../component/sjms/jms/DefaultJmsKeyFormatStrategy.java    |  4 ++--
 .../component/spring/ws/SpringWebserviceComponent.java     |  2 +-
 .../camel/runtimecatalog/impl/AbstractCamelCatalog.java    | 12 ++++++------
 .../org/apache/camel/runtimecatalog/impl/URISupport.java   |  2 +-
 .../main/java/org/apache/camel/impl/RouteIdFactory.java    |  2 +-
 .../java/org/apache/camel/support/JSonSchemaHelper.java    |  6 +++---
 .../apache/camel/support/component/ApiMethodParser.java    |  2 +-
 .../src/main/java/org/apache/camel/util/StringHelper.java  |  4 ++--
 .../java/org/apache/camel/test/perf/esb/EchoService.java   |  2 +-
 .../org/apache/camel/tooling/util/JSonSchemaHelper.java    |  6 +++---
 .../java/org/apache/camel/tooling/util/PackageHelper.java  |  4 ++--
 .../apache/camel/maven/AbstractApiMethodGeneratorMojo.java |  8 ++++----
 .../org/apache/camel/maven/ApiComponentGeneratorMojo.java  |  2 +-
 .../apache/camel/maven/JavadocApiMethodGeneratorMojo.java  |  2 +-
 .../main/java/org/apache/camel/maven/JavadocParser.java    |  8 ++++----
 .../apache/camel/maven/EipDocumentationEnricherMojo.java   |  2 +-
 .../org/apache/camel/maven/packaging/EndpointDslMojo.java  | 14 +++++++-------
 32 files changed, 64 insertions(+), 64 deletions(-)

diff --git a/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaParserHelper.java b/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaParserHelper.java
index 9bc617b..c69f8a0 100644
--- a/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaParserHelper.java
+++ b/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaParserHelper.java
@@ -349,9 +349,9 @@ public final class CamelJavaParserHelper {
 
                 // if the node is fromF or toF, then replace all %X with {{%X}} as we cannot parse that value
                 if ("fromF".equals(node) || "toF".equals(node)) {
-                    uri = uri.replaceAll("\\%s", "\\{\\{\\%s\\}\\}");
-                    uri = uri.replaceAll("\\%d", "\\{\\{\\%d\\}\\}");
-                    uri = uri.replaceAll("\\%b", "\\{\\{\\%b\\}\\}");
+                    uri = uri.replace("%s", "{{%s}}");
+                    uri = uri.replace("%d", "{{%d}}");
+                    uri = uri.replace("%b", "{{%b}}");
                 }
 
                 uris.add(new ParserResult(node, position, len, uri));
diff --git a/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/RestSegmentDecorator.java b/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/RestSegmentDecorator.java
index e5bc966..fb1ca61 100644
--- a/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/RestSegmentDecorator.java
+++ b/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/decorators/http/RestSegmentDecorator.java
@@ -67,7 +67,7 @@ public class RestSegmentDecorator extends AbstractHttpSegmentDecorator {
                 if (index != -1) {
                     path = path.substring(0, index);
                 }
-                path = path.replaceAll(":", "");
+                path = path.replace(":", "");
                 try {
                     path = URLDecoder.decode(path, "UTF-8");
                 } catch (UnsupportedEncodingException e) {
diff --git a/components/camel-aws-xray/src/test/java/org/apache/camel/component/aws/xray/json/JsonParser.java b/components/camel-aws-xray/src/test/java/org/apache/camel/component/aws/xray/json/JsonParser.java
index cbf1818..8a47922 100644
--- a/components/camel-aws-xray/src/test/java/org/apache/camel/component/aws/xray/json/JsonParser.java
+++ b/components/camel-aws-xray/src/test/java/org/apache/camel/component/aws/xray/json/JsonParser.java
@@ -29,7 +29,7 @@ public final class JsonParser {
     }
 
     public static JsonStructure parse(final String jsonString) {
-        String json = jsonString.replaceAll("\n", "");
+        String json = jsonString.replace("\n", "");
 
         Stack<JsonStructure> stack = new Stack<>();
 
diff --git a/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java b/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
index f95813a..9b27c4e 100644
--- a/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
+++ b/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
@@ -207,7 +207,7 @@ public final class BoxConnectionHelper {
         String errorMessage = null;
         if (!errorDivs.isEmpty()) {
             errorMessage = errorDivs.first().text().replaceAll("\\s+", " ")
-                    .replaceAll(" Show Error Details", ":").trim();
+                    .replace(" Show Error Details", ":").trim();
         } else {
             errorDivs = page.select("div[class*=message]");
             if (!errorDivs.isEmpty()) {
diff --git a/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulRegistry.java b/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulRegistry.java
index dbc8984..b632eba 100644
--- a/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulRegistry.java
+++ b/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulRegistry.java
@@ -74,7 +74,7 @@ public class ConsulRegistry implements Registry {
     @Override
     public Object lookupByName(String key) {
         // Substitute $ character in key
-        key = key.replaceAll("\\$", "/");
+        key = key.replace('$', '/');
         kvClient = consul.keyValueClient();
 
         return kvClient.getValueAsString(key).map(result -> {
@@ -101,7 +101,7 @@ public class ConsulRegistry implements Registry {
     public <T> Map<String, T> findByTypeWithName(Class<T> type) {
         Map<String, T> result = new HashMap<>();
         // encode $ signs as they occur in subclass types
-        String keyPrefix = type.getName().replaceAll("\\$", "/");
+        String keyPrefix = type.getName().replace('$', '/');
         kvClient = consul.keyValueClient();
 
         List<String> keys;
@@ -117,7 +117,7 @@ public class ConsulRegistry implements Registry {
             for (String key : keys) {
                 // change bookmark back into actual key
                 key = key.substring(key.lastIndexOf('/') + 1);
-                obj = lookupByName(key.replaceAll("\\$", "/"));
+                obj = lookupByName(key.replace('$', '/'));
                 if (type.isInstance(obj)) {
                     result.put(key, type.cast(obj));
                 }
@@ -128,7 +128,7 @@ public class ConsulRegistry implements Registry {
 
     @Override
     public <T> Set<T> findByType(Class<T> type) {
-        String keyPrefix = type.getName().replaceAll("\\$", "/");
+        String keyPrefix = type.getName().replace('$', '/');
         Set<T> result = new HashSet<>();
 
         List<String> keys;
@@ -144,7 +144,7 @@ public class ConsulRegistry implements Registry {
             for (String key : keys) {
                 // change bookmark back into actual key
                 key = key.substring(key.lastIndexOf('/') + 1);
-                obj = lookupByName(key.replaceAll("\\$", "/"));
+                obj = lookupByName(key.replace('$', '/'));
                 if (type.isInstance(obj)) {
                     result.add(type.cast(obj));
                 }
@@ -180,7 +180,7 @@ public class ConsulRegistry implements Registry {
 
     public void put(String key, Object object) {
         // Substitute $ character in key
-        key = key.replaceAll("\\$", "/");
+        key = key.replace('$', '/');
         // create session to avoid conflicts
         // (not sure if that is safe enough, again)
         SessionClient sessionClient = consul.sessionClient();
@@ -202,7 +202,7 @@ public class ConsulRegistry implements Registry {
         // store the actual class
         kvClient.putValue(key, value);
         // store just as a bookmark
-        kvClient.putValue(object.getClass().getName().replaceAll("\\$", "/") + "/" + key, "1");
+        kvClient.putValue(object.getClass().getName().replace('$', '/') + "/" + key, "1");
         kvClient.releaseLock(lockKey, sessionId);
     }
 
diff --git a/components/camel-consul/src/main/java/org/apache/camel/component/consul/health/ConsulHealthCheckRepository.java b/components/camel-consul/src/main/java/org/apache/camel/component/consul/health/ConsulHealthCheckRepository.java
index 7ac1ab8..b561335 100644
--- a/components/camel-consul/src/main/java/org/apache/camel/component/consul/health/ConsulHealthCheckRepository.java
+++ b/components/camel-consul/src/main/java/org/apache/camel/component/consul/health/ConsulHealthCheckRepository.java
@@ -105,7 +105,7 @@ public class ConsulHealthCheckRepository implements HealthCheckRepository, Camel
         private final String checkId;
 
         ConsulHealthCheck(String checkId) {
-            super("consul-" + checkId.replaceAll(":", "-"));
+            super("consul-" + checkId.replace(':', '-'));
 
             this.checkId = checkId;
 
diff --git a/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/crypt/EnvelopedDataEncryptorConfiguration.java b/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/crypt/EnvelopedDataEncryptorConfiguration.java
index 0740066..625d6a6 100644
--- a/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/crypt/EnvelopedDataEncryptorConfiguration.java
+++ b/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/crypt/EnvelopedDataEncryptorConfiguration.java
@@ -123,7 +123,7 @@ public class EnvelopedDataEncryptorConfiguration extends CryptoCmsMarshallerConf
         for (Object recipientOb : recipients) {
             if (recipientOb instanceof String) {
                 String recipientName = (String)recipientOb;
-                String valueNoHash = recipientName.replaceAll("#", "");
+                String valueNoHash = recipientName.replace("#", "");
                 if (getContext() != null) {
                     RecipientInfo recipient = getContext().getRegistry().lookupByNameAndType(valueNoHash, RecipientInfo.class);
                     if (recipient != null) {
diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java
index 1fae5cc..6881d28 100644
--- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java
+++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java
@@ -50,7 +50,7 @@ public class DockerComponent extends DefaultComponent {
         // a copy of the configuration
         DockerConfiguration configuration = getConfiguration().copy();
 
-        String normalizedRemaining = remaining.replaceAll("/", "");
+        String normalizedRemaining = remaining.replace("/", "");
 
         DockerOperation operation = DockerOperation.getDockerOperation(normalizedRemaining);
 
diff --git a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlProducer.java b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlProducer.java
index 6d7288f..3077cd0 100644
--- a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlProducer.java
+++ b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlProducer.java
@@ -99,7 +99,7 @@ public class ElsqlProducer extends DefaultProducer {
                     final int expected = ps.getParameterMetaData().getParameterCount();
                      
                     if (expected > 0 && batch) {
-                        final String sqlForDefaultPreparedStamentStrategy =  sql.replaceAll(":", ":\\?");
+                        final String sqlForDefaultPreparedStamentStrategy = sql.replace(":", ":?");
                         final String preparedQuery = sqlPrepareStatementStrategy.prepareQuery(sqlForDefaultPreparedStamentStrategy, getEndpoint().isAllowNamedParameters(), exchange);
                         final Iterator<?> iterator = exchange.getIn().getBody(Iterator.class);
                         while (iterator != null && iterator.hasNext()) {
diff --git a/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HaConfigurationBuilder.java b/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HaConfigurationBuilder.java
index ca5daad..5085e9b 100644
--- a/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HaConfigurationBuilder.java
+++ b/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HaConfigurationBuilder.java
@@ -100,7 +100,7 @@ final class HaConfigurationBuilder {
         String clusterName = HFDS_NAMED_SERVICE;
 
         if (StringUtils.isNotEmpty(rawClusterName)) {
-            clusterName = rawClusterName.replaceAll("\\.", HFDS_NAMED_SERVICE_SEPARATOR);
+            clusterName = rawClusterName.replace(".", HFDS_NAMED_SERVICE_SEPARATOR);
         }
 
         return clusterName;
diff --git a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
index afb06ae..5fa573e 100644
--- a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
+++ b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
@@ -542,7 +542,7 @@ public class IrcConfiguration implements Cloneable {
 
     public static String sanitize(String uri) {
         //symbol # has to be encoded. otherwise value after '#' won't be propagated into parameters
-        return uri.replaceAll("#", "%23");
+        return uri.replace("#", "%23");
     }
 
     private static String formatQuery(Map<String, Object> params) {
diff --git a/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/meta/MongoDBMetaExtension.java b/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/meta/MongoDBMetaExtension.java
index 0f9f506..3ebd593 100644
--- a/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/meta/MongoDBMetaExtension.java
+++ b/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/meta/MongoDBMetaExtension.java
@@ -74,7 +74,7 @@ public class MongoDBMetaExtension extends AbstractMetaDataExtension {
                 return Optional.empty();
             }
             String collectionInfoJson = collectionInfo.toJson();
-            collectionInfoRoot = objectMapper.readTree(collectionInfoJson.replaceAll("bsonType", "type"));
+            collectionInfoRoot = objectMapper.readTree(collectionInfoJson.replace("bsonType", "type"));
         } catch (IOException e) {
             LOGGER.error("Error occurred while reading schema information", e);
             return Optional.empty();
diff --git a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/decorators/RestSpanDecorator.java b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/decorators/RestSpanDecorator.java
index 3bd2ac2..c484021 100644
--- a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/decorators/RestSpanDecorator.java
+++ b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/decorators/RestSpanDecorator.java
@@ -78,7 +78,7 @@ public class RestSpanDecorator extends AbstractHttpSpanDecorator {
                 if (index != -1) {
                     path = path.substring(0, index);
                 }
-                path = path.replaceAll(":", "");
+                path = path.replace(":", "");
                 try {
                     path = URLDecoder.decode(path, "UTF-8");
                 } catch (UnsupportedEncodingException e) {
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
index e95fb52..c159fc0 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
@@ -591,7 +591,7 @@ public abstract class AbstractRestProcessor extends AbstractSalesforceProcessor
                 throw new IllegalArgumentException("Missing APEX URL template header " + parameterName);
             }
             try {
-                result.append(URLEncoder.encode(String.valueOf(value), "UTF-8").replaceAll("\\+", "%20"));
+                result.append(URLEncoder.encode(String.valueOf(value), "UTF-8").replace("+", "%20"));
             } catch (UnsupportedEncodingException e) {
                 throw new SalesforceException("Unexpected error: " + e.getMessage(), e);
             }
diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/LoginConfigHelper.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/LoginConfigHelper.java
index c34cb51..265a8c5 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/LoginConfigHelper.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/LoginConfigHelper.java
@@ -48,7 +48,7 @@ public final class LoginConfigHelper {
     }
 
     private String fromEnvName(final String envVariable) {
-        return envVariable.replaceAll("_", ".").toLowerCase();
+        return envVariable.replace('_', '.').toLowerCase();
     }
 
     SalesforceLoginConfig createLoginConfig() {
diff --git a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/DefaultJmsKeyFormatStrategy.java b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/DefaultJmsKeyFormatStrategy.java
index 6d06b64..32a4327 100644
--- a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/DefaultJmsKeyFormatStrategy.java
+++ b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/DefaultJmsKeyFormatStrategy.java
@@ -27,13 +27,13 @@ public class DefaultJmsKeyFormatStrategy implements JmsKeyFormatStrategy {
     @Override
     public String encodeKey(String key) {
         String answer = key.replace(".", "_DOT_");
-        answer = answer.replaceAll("-", "_HYPHEN_");
+        answer = answer.replace("-", "_HYPHEN_");
         return answer;
     }
 
     @Override
     public String decodeKey(String key) {
-        String answer = key.replaceAll("_HYPHEN_", "-");
+        String answer = key.replace("_HYPHEN_", "-");
         answer = answer.replace("_DOT_", ".");
         return answer;
     }
diff --git a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceComponent.java b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceComponent.java
index 3054498..5ca1fbe 100644
--- a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceComponent.java
+++ b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceComponent.java
@@ -51,7 +51,7 @@ public class SpringWebserviceComponent extends DefaultComponent implements SSLCo
     @Deprecated
     protected String preProcessUri(String uri) {
         String[] u = uri.split("\\?");
-        return u[0].replaceAll("%7B", "(").replaceAll("%7D", ")") + (u.length > 1 ? "?" + u[1] : "");
+        return u[0].replace("%7B", "(").replace("%7D", ")") + (u.length > 1 ? "?" + u[1] : "");
     }
 
     @Override
diff --git a/core/camel-base/src/main/java/org/apache/camel/runtimecatalog/impl/AbstractCamelCatalog.java b/core/camel-base/src/main/java/org/apache/camel/runtimecatalog/impl/AbstractCamelCatalog.java
index 3c5b0b6..1bfeff6 100644
--- a/core/camel-base/src/main/java/org/apache/camel/runtimecatalog/impl/AbstractCamelCatalog.java
+++ b/core/camel-base/src/main/java/org/apache/camel/runtimecatalog/impl/AbstractCamelCatalog.java
@@ -906,16 +906,16 @@ public abstract class AbstractCamelCatalog {
 
             // need to preserve {{ and }} from the syntax
             // (we need to use words only as its provisional placeholders)
-            syntax = syntax.replaceAll("\\{\\{", "BEGINCAMELPLACEHOLDER");
-            syntax = syntax.replaceAll("\\}\\}", "ENDCAMELPLACEHOLDER");
+            syntax = syntax.replace("{{", "BEGINCAMELPLACEHOLDER");
+            syntax = syntax.replace("}}", "ENDCAMELPLACEHOLDER");
 
             // parse the syntax into each options
             Matcher matcher2 = SYNTAX_DASH_PATTERN.matcher(syntax);
             List<String> options2 = new ArrayList<>();
             while (matcher2.find()) {
                 String s = matcher2.group(1);
-                s = s.replaceAll("BEGINCAMELPLACEHOLDER", "\\{\\{");
-                s = s.replaceAll("ENDCAMELPLACEHOLDER", "\\}\\}");
+                s = s.replace("BEGINCAMELPLACEHOLDER", "{{");
+                s = s.replace("ENDCAMELPLACEHOLDER", "}}");
                 options2.add(s);
             }
 
@@ -1069,7 +1069,7 @@ public abstract class AbstractCamelCatalog {
                 List<Map<String, String>> rows = parseJsonSchema(group, json, true);
 
                 // lower case option and remove dash
-                String nOption = option.replaceAll("-", "").toLowerCase(Locale.US);
+                String nOption = option.replace("-", "").toLowerCase(Locale.US);
                 String suffix = null;
                 int posDot = nOption.indexOf('.');
                 int posBracket = nOption.indexOf('[');
@@ -1100,7 +1100,7 @@ public abstract class AbstractCamelCatalog {
                 List<Map<String, String>> rows = parseMainJsonSchema(json);
 
                 // lower case option and remove dash
-                String nOption = longKey.replaceAll("-", "").toLowerCase(Locale.US);
+                String nOption = longKey.replace("-", "").toLowerCase(Locale.US);
 
                 // look for suffix or array index after 2nd dot
                 int secondDot = nOption.indexOf('.');
diff --git a/core/camel-base/src/main/java/org/apache/camel/runtimecatalog/impl/URISupport.java b/core/camel-base/src/main/java/org/apache/camel/runtimecatalog/impl/URISupport.java
index d12cb4a..bda5d9e 100644
--- a/core/camel-base/src/main/java/org/apache/camel/runtimecatalog/impl/URISupport.java
+++ b/core/camel-base/src/main/java/org/apache/camel/runtimecatalog/impl/URISupport.java
@@ -288,7 +288,7 @@ public final class URISupport {
         name = URLDecoder.decode(name, CHARSET);
         if (!isRaw) {
             // need to replace % with %25
-            value = URLDecoder.decode(value.replaceAll("%", "%25"), CHARSET);
+            value = URLDecoder.decode(value.replace("%", "%25"), CHARSET);
         }
 
         // does the key already exist?
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/RouteIdFactory.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/RouteIdFactory.java
index a0f78db..8a7eddd 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/RouteIdFactory.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/RouteIdFactory.java
@@ -194,7 +194,7 @@ public class RouteIdFactory implements NodeIdFactory {
             uri = uri.substring(0, uri.indexOf('?'));
         }
 
-        return uri.replaceAll("/", String.valueOf(SEPARATOR));
+        return uri.replace('/', SEPARATOR);
     }
 
     /**
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/JSonSchemaHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/JSonSchemaHelper.java
index 18fd528..aa281ca 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/JSonSchemaHelper.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/JSonSchemaHelper.java
@@ -189,9 +189,9 @@ public final class JSonSchemaHelper {
         // need to safe encode \n as \\n so its escaped
         // need to safe encode \t as \\t so its escaped
         return value
-            .replaceAll("\\\\r", "\\\\\\r")
-            .replaceAll("\\\\n", "\\\\\\n")
-            .replaceAll("\\\\t", "\\\\\\t");
+            .replace("\\r", "\\\\r")
+            .replace("\\n", "\\\\n")
+            .replace("\\t", "\\\\t");
     }
 
     public static boolean isComponentLenientProperties(List<Map<String, String>> rows) {
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/component/ApiMethodParser.java b/core/camel-support/src/main/java/org/apache/camel/support/component/ApiMethodParser.java
index 3d498aa..522a602 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/component/ApiMethodParser.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/component/ApiMethodParser.java
@@ -149,7 +149,7 @@ public abstract class ApiMethodParser<T> {
                 argTypes.add(type);
                 String genericParameterUpperbound = argsMatcher.group(2);
                 String typeArgs = genericParameterUpperbound != null
-                    ? genericParameterUpperbound.substring(1, genericParameterUpperbound.length() - 1).replaceAll(" ", "") : null;
+                    ? genericParameterUpperbound.substring(1, genericParameterUpperbound.length() - 1).replace(" ", "") : null;
                 if (typeArgs != null && typeArgs.equals(genericTypeParameterName)) {
                     typeArgs = genericTypeParameterUpperBound;
                 }
diff --git a/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java b/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
index 5bf714c..0e8ae58 100644
--- a/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
+++ b/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java
@@ -61,8 +61,8 @@ public final class StringHelper {
      */
     public static String removeCRLF(String s) {
         return s
-            .replaceAll("\r", "")
-            .replaceAll("\n", "");
+            .replace("\r", "")
+            .replace("\n", "");
     }
 
     /**
diff --git a/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/EchoService.java b/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/EchoService.java
index e8ac6f9..f053d2e 100644
--- a/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/EchoService.java
+++ b/tests/camel-performance/src/test/java/org/apache/camel/test/perf/esb/EchoService.java
@@ -45,7 +45,7 @@ public class EchoService extends HttpServlet {
             String soapAction = request.getHeader("SOAPAction");
             if (soapAction != null) {
                 if (soapAction.startsWith("\"")) {
-                    soapAction = soapAction.replaceAll("\"", "");
+                    soapAction = soapAction.replace("\"", "");
                 }
                 int dotPos = soapAction.indexOf(".");
                 int secondDotPos = dotPos == -1 ? -1 : soapAction.indexOf(".", dotPos + 1);
diff --git a/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/JSonSchemaHelper.java b/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/JSonSchemaHelper.java
index c03ef7c..51244d1 100644
--- a/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/JSonSchemaHelper.java
+++ b/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/JSonSchemaHelper.java
@@ -387,9 +387,9 @@ public final class JSonSchemaHelper {
         // need to safe encode \n as \\n so its escaped
         // need to safe encode \t as \\t so its escaped
         return value
-            .replaceAll("\\\\r", "\\\\\\r")
-            .replaceAll("\\\\n", "\\\\\\n")
-            .replaceAll("\\\\t", "\\\\\\t");
+            .replace("\\r", "\\\\r")
+            .replace("\\n", "\\\\n")
+            .replace("\\t", "\\\\t");
     }
 
     /**
diff --git a/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/PackageHelper.java b/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/PackageHelper.java
index 9136f2b..361e567 100644
--- a/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/PackageHelper.java
+++ b/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/PackageHelper.java
@@ -102,7 +102,7 @@ public final class PackageHelper {
                     String key = line.substring(0, idx);
                     String value = line.substring(idx + 1);
                     // remove ending line break for the values
-                    value = value.trim().replaceAll("\n", "");
+                    value = value.trim().replace("\n", "");
                     answer.put(key.trim(), value);
                 }
             }
@@ -140,7 +140,7 @@ public final class PackageHelper {
                 // skip files in root dirs as Camel does not store information there but others may do
                 boolean jsonFile = file.isFile() && file.getName().endsWith(JSON_SUFIX);
                 if (jsonFile) {
-                    result.put(file.getName().replaceAll("\\" + JSON_SUFIX, ""), file);
+                    result.put(file.getName().replace(JSON_SUFIX, ""), file);
                 } else if (file.isDirectory()) {
                     findJsonFiles0(file, result, filter);
                 }
diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java
index fa5eed3..48c3bfb 100644
--- a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java
+++ b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java
@@ -114,7 +114,7 @@ public abstract class AbstractApiMethodGeneratorMojo extends AbstractApiMethodBa
 
     public File getApiMethodFile() throws MojoExecutionException {
         final StringBuilder fileName = new StringBuilder();
-        fileName.append(outPackage.replaceAll("\\.", Matcher.quoteReplacement(File.separator))).append(File.separator);
+        fileName.append(outPackage.replace(".", Matcher.quoteReplacement(File.separator))).append(File.separator);
         fileName.append(getEnumName()).append(".java");
         return new File(generatedSrcDir, fileName.toString());
     }
@@ -136,7 +136,7 @@ public abstract class AbstractApiMethodGeneratorMojo extends AbstractApiMethodBa
 
     private String getTestFilePath() throws MojoExecutionException {
         final StringBuilder fileName = new StringBuilder();
-        fileName.append(componentPackage.replaceAll("\\.", Matcher.quoteReplacement(File.separator))).append(File.separator);
+        fileName.append(componentPackage.replace(".", Matcher.quoteReplacement(File.separator))).append(File.separator);
         fileName.append(getUnitTestName()).append(".java");
         return fileName.toString();
     }
@@ -172,7 +172,7 @@ public abstract class AbstractApiMethodGeneratorMojo extends AbstractApiMethodBa
         if (extraOptions != null && extraOptions.length > 0) {
             for (ExtraOption option : extraOptions) {
                 final String name = option.getName();
-                final String argWithTypes = option.getType().replaceAll(" ", "");
+                final String argWithTypes = option.getType().replace(" ", "");
                 final int rawEnd = argWithTypes.indexOf('<');
                 String typeArgs = null;
                 Class<?> argType;
@@ -198,7 +198,7 @@ public abstract class AbstractApiMethodGeneratorMojo extends AbstractApiMethodBa
     private File getConfigurationFile() throws MojoExecutionException {
         final StringBuilder fileName = new StringBuilder();
         // endpoint configuration goes in component package
-        fileName.append(componentPackage.replaceAll("\\.", Matcher.quoteReplacement(File.separator))).append(File.separator);
+        fileName.append(componentPackage.replace(".", Matcher.quoteReplacement(File.separator))).append(File.separator);
         fileName.append(getConfigName()).append(".java");
         return new File(generatedSrcDir, fileName.toString());
     }
diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiComponentGeneratorMojo.java b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiComponentGeneratorMojo.java
index db93922..cf22d3f 100644
--- a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiComponentGeneratorMojo.java
+++ b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiComponentGeneratorMojo.java
@@ -216,7 +216,7 @@ public class ApiComponentGeneratorMojo extends AbstractApiMethodBaseMojo {
 
     private StringBuilder getFileBuilder() {
         final StringBuilder fileName = new StringBuilder();
-        fileName.append(outPackage.replaceAll("\\.", Matcher.quoteReplacement(File.separator))).append(File.separator);
+        fileName.append(outPackage.replace(".", Matcher.quoteReplacement(File.separator))).append(File.separator);
         return fileName;
     }
 
diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavadocApiMethodGeneratorMojo.java b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavadocApiMethodGeneratorMojo.java
index 4f61d6e..3c08daa 100644
--- a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavadocApiMethodGeneratorMojo.java
+++ b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavadocApiMethodGeneratorMojo.java
@@ -84,7 +84,7 @@ public class JavadocApiMethodGeneratorMojo extends AbstractApiMethodGeneratorMoj
              aClass = aClass.getSuperclass()) {
 
             log.debug("Processing " + aClass.getName());
-            final String javaDocPath = aClass.getName().replaceAll("\\.", "/").replace('$', '.') + ".html";
+            final String javaDocPath = aClass.getName().replace('.', '/').replace('$', '.') + ".html";
 
             // read javadoc html text for class
 
diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavadocParser.java b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavadocParser.java
index 611a114..bbe9979 100644
--- a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavadocParser.java
+++ b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavadocParser.java
@@ -97,15 +97,15 @@ public class JavadocParser extends Parser {
                                     final int lastHyphen = methodSignature.lastIndexOf('-');
                                     methodSignature = methodSignature.substring(0, firstHyphen) + "("
                                         + methodSignature.substring(firstHyphen + 1, lastHyphen) + ")";
-                                    methodSignature = methodSignature.replaceAll("-", ",");
+                                    methodSignature = methodSignature.replace('-', ',');
                                 }
                                 // support varargs
                                 if (methodSignature.contains("...)")) {
-                                    methodSignature = methodSignature.replaceAll("\\.\\.\\.\\)", "[])");
+                                    methodSignature = methodSignature.replace("...)", "[])");
                                 }
                                 // map Java8 array types
                                 if (methodSignature.contains(":A")) {
-                                    methodSignature = methodSignature.replaceAll(":A", "[]");
+                                    methodSignature = methodSignature.replace(":A", "[]");
                                 }
                                 methodWithTypes = unescapeHtml(methodSignature);
                             }
@@ -167,7 +167,7 @@ public class JavadocParser extends Parser {
         String plainText = unescapeHtml(methodTextBuilder.toString());
         // support varargs
         if (plainText.contains("...")) {
-            plainText = plainText.replaceAll("\\.\\.\\.", "[]");
+            plainText = plainText.replace("...", "[]");
         }
         return plainText.substring(plainText.indexOf('('), plainText.indexOf(')') + 1);
     }
diff --git a/tooling/maven/camel-eip-documentation-enricher-maven-plugin/src/main/java/org/apache/camel/maven/EipDocumentationEnricherMojo.java b/tooling/maven/camel-eip-documentation-enricher-maven-plugin/src/main/java/org/apache/camel/maven/EipDocumentationEnricherMojo.java
index d440a20..c5c8654 100644
--- a/tooling/maven/camel-eip-documentation-enricher-maven-plugin/src/main/java/org/apache/camel/maven/EipDocumentationEnricherMojo.java
+++ b/tooling/maven/camel-eip-documentation-enricher-maven-plugin/src/main/java/org/apache/camel/maven/EipDocumentationEnricherMojo.java
@@ -231,7 +231,7 @@ public class EipDocumentationEnricherMojo extends AbstractMojo {
     }
 
     private String truncateTypeNamespace(String baseType) {
-        return baseType.replaceAll("tns:", "");
+        return baseType.replace("tns:", "");
     }
 
     private void saveToFile(Document document, File outputFile, Transformer transformer) throws FileNotFoundException, TransformerException {
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
index 80681e2..a8a48a5 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
@@ -388,7 +388,7 @@ public class EndpointDslMojo extends AbstractMojo {
                         desc += ".";
                     }
                     desc += "\n";
-                    desc += "\nThe option is a: <code>" + ogtype.toString().replaceAll("<", "&lt;").replaceAll(">", "&gt;") + "</code> type.";
+                    desc += "\nThe option is a: <code>" + ogtype.toString().replace("<", "&lt;").replace(">", "&gt;") + "</code> type.";
                     desc += "\n";
                     // the Endpoint DSL currently requires to provide the entire context-path and not as individual options
                     // so lets only mark query parameters that are required as required
@@ -416,7 +416,7 @@ public class EndpointDslMojo extends AbstractMojo {
                             desc += ".";
                         }
                         desc += "\n";
-                        desc += "\nThe option will be converted to a <code>" + ogtype.toString().replaceAll("<", "&lt;").replaceAll(">", "&gt;") + "</code> type.";
+                        desc += "\nThe option will be converted to a <code>" + ogtype.toString().replace("<", "&lt;").replace(">", "&gt;") + "</code> type.";
                         desc += "\n";
                         // the Endpoint DSL currently requires to provide the entire context-path and not as individual options
                         // so lets only mark query parameters that are required as required
@@ -480,12 +480,12 @@ public class EndpointDslMojo extends AbstractMojo {
             method.getJavaDoc().setText(desc);
         }
 
-        String fileName = packageName.replaceAll("\\.", "\\/") + "/" + builderName + "Factory.java";
+        String fileName = packageName.replace('.', '/') + "/" + builderName + "Factory.java";
         writeSourceIfChanged(javaClass, fileName, false);
     }
 
     private void synchronizeEndpointBuilderFactoryInterface() throws MojoFailureException {
-        final String interfaceFactoryPath = packageName.replaceAll("\\.", "\\/").replace("dsl", "") + "EndpointBuilderFactory.java";
+        final String interfaceFactoryPath = packageName.replace('.', '/').replace("dsl", "") + "EndpointBuilderFactory.java";
         final List<File> allComponentsDslEndpointFactories = loadAllComponentsDslEndpointFactoriesAsFile();
 
         CompilationUnit endpointBuilderUnit = new CompilationUnit();
@@ -577,7 +577,7 @@ public class EndpointDslMojo extends AbstractMojo {
     }
 
     private void synchronizeEndpointBuildersInterface() throws MojoFailureException {
-        final String interfaceFactoryPath = packageName.replaceAll("\\.", "\\/").replace("dsl", "") + "EndpointBuilders.java";
+        final String interfaceFactoryPath = packageName.replace('.', '/').replace("dsl", "") + "EndpointBuilders.java";
         final List<File> allComponentsDslEndpointFactories = loadAllComponentsDslEndpointFactoriesAsFile();
 
         CompilationUnit endpointBuilderUnit = new CompilationUnit();
@@ -647,7 +647,7 @@ public class EndpointDslMojo extends AbstractMojo {
     }
 
     private List<File> loadAllComponentsDslEndpointFactoriesAsFile() {
-        final File allComponentsDslEndpointFactory = new File(outputDir, packageName.replaceAll("\\.", "\\/"));
+        final File allComponentsDslEndpointFactory = new File(outputDir, packageName.replace('.', '/'));
 
         // load components
         return Arrays.asList(allComponentsDslEndpointFactory.listFiles()).stream()
@@ -718,7 +718,7 @@ public class EndpointDslMojo extends AbstractMojo {
 
     private String wrapEnumValues(String enumValues) {
         // comma to space so we can wrap words (which uses space)
-        return enumValues.replaceAll(",",", ");
+        return enumValues.replace(",", ", ");
     }
 
     private String getEndpointName(String type) {