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

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


The following commit(s) were added to refs/heads/main by this push:
     new 7334ef87f25 CAMEL-18232: camel-core - Invalid ThreadName pattern using 
default thread pattern on some JDKs
7334ef87f25 is described below

commit 7334ef87f2527465fcbb22160c98e9fb2d16b90b
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Jun 28 09:03:08 2022 +0200

    CAMEL-18232: camel-core - Invalid ThreadName pattern using default thread 
pattern on some JDKs
---
 .../apache/camel/util/concurrent/ThreadHelper.java  | 21 +++++++--------------
 1 file changed, 7 insertions(+), 14 deletions(-)

diff --git 
a/core/camel-util/src/main/java/org/apache/camel/util/concurrent/ThreadHelper.java
 
b/core/camel-util/src/main/java/org/apache/camel/util/concurrent/ThreadHelper.java
index e7e55d1fd0a..550f559299d 100644
--- 
a/core/camel-util/src/main/java/org/apache/camel/util/concurrent/ThreadHelper.java
+++ 
b/core/camel-util/src/main/java/org/apache/camel/util/concurrent/ThreadHelper.java
@@ -16,16 +16,18 @@
  */
 package org.apache.camel.util.concurrent;
 
+import org.apache.camel.util.StringHelper;
+
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.regex.Pattern;
 
-import org.apache.camel.util.StringHelper;
-
 /**
  * Various helper method for thread naming.
  */
 public final class ThreadHelper {
+
     public static final String DEFAULT_PATTERN = "Camel Thread ##counter# - 
#name#";
+
     private static final Pattern INVALID_PATTERN = 
Pattern.compile(".*#\\w+#.*");
 
     private static AtomicLong threadCounter = new AtomicLong();
@@ -56,12 +58,12 @@ public final class ThreadHelper {
         String shortName = name.contains("?") ? StringHelper.before(name, "?") 
: name;
 
         // replace tokens
-        String answer = replaceFirst(pattern, "#longName#", longName);
+        String answer = StringHelper.replaceFirst(pattern, "#longName#", 
longName);
         if (shortName != null) {
-            answer = replaceFirst(answer, "#name#", shortName);
+            answer = StringHelper.replaceFirst(answer, "#name#", shortName);
         }
         String next = Long.toString(nextThreadCounter());
-        answer = replaceFirst(answer, "#counter#", next);
+        answer = StringHelper.replaceFirst(answer, "#counter#", next);
 
         // are there any #word# combos left, if so they should be considered 
invalid tokens
         if (INVALID_PATTERN.matcher(answer).matches()) {
@@ -72,13 +74,4 @@ public final class ThreadHelper {
         return answer;
     }
 
-    private static String replaceFirst(String input, String from, String to) {
-        // use StringHelper.replaceFirst and replaceFirst (regexp) as replace 
does not work on all JDK 11s (CAMEL-18232)
-        String answer = StringHelper.replaceFirst(input, from, to);
-        if (!to.contains("$")) {
-            answer = answer.replaceFirst(from, to);
-        }
-        return answer;
-    }
-
 }

Reply via email to