This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push:
new 70ebbe75ad Add support for namePrefix to the virtual thread executor
70ebbe75ad is described below
commit 70ebbe75ad397d4dc9278a78e58dc1b805fee6a3
Author: Mark Thomas <[email protected]>
AuthorDate: Fri May 12 10:40:10 2023 +0100
Add support for namePrefix to the virtual thread executor
---
java/org/apache/catalina/core/VirtualThreadExecutor.java | 11 ++++++++++-
webapps/docs/config/executor.xml | 9 ++++++++-
2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/java/org/apache/catalina/core/VirtualThreadExecutor.java
b/java/org/apache/catalina/core/VirtualThreadExecutor.java
index b5ed201b16..98fa1edee4 100644
--- a/java/org/apache/catalina/core/VirtualThreadExecutor.java
+++ b/java/org/apache/catalina/core/VirtualThreadExecutor.java
@@ -28,6 +28,7 @@ public class VirtualThreadExecutor extends LifecycleMBeanBase
implements Executo
private String name;
private Thread.Builder threadBuilder;
+ private String namePrefix;
public void setName(String name) {
this.name = name;
@@ -38,6 +39,14 @@ public class VirtualThreadExecutor extends
LifecycleMBeanBase implements Executo
return name;
}
+ public String getNamePrefix() {
+ return namePrefix;
+ }
+
+ public void setNamePrefix(String namePrefix) {
+ this.namePrefix = namePrefix;
+ }
+
@Override
public void execute(Runnable command) {
threadBuilder.start(command);
@@ -46,7 +55,7 @@ public class VirtualThreadExecutor extends LifecycleMBeanBase
implements Executo
@Override
protected void startInternal() throws LifecycleException {
- threadBuilder = Thread.ofVirtual().name(getName() + "-", 0);
+ threadBuilder = Thread.ofVirtual().name(getNamePrefix(), 0);
setState(LifecycleState.STARTING);
}
diff --git a/webapps/docs/config/executor.xml b/webapps/docs/config/executor.xml
index 55ca482d8a..abffc9f5d1 100644
--- a/webapps/docs/config/executor.xml
+++ b/webapps/docs/config/executor.xml
@@ -130,7 +130,14 @@
<p>The <code>className</code> attribute must be
<code>org.apache.catalina.core.VirtualThreadExecutor</code> to use
this implementation.</p>
- <p>The virtual thread implementation does not support any additional
attributes.</p>
+ <p>The virtual thread implementation supports the follow attributes:</p>
+
+ <attributes>
+ <attribute name="namePrefix" required="false">
+ <p>(String) The name prefix for each thread created by the executor.
+ The thread name for an individual thread will be
<code>namePrefix+threadNumber</code></p>
+ </attribute>
+ </attributes>
</subsection>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]