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;
- }
-
}