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

mattrpav pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-website.git


The following commit(s) were added to refs/heads/main by this push:
     new 5436c6055 Update virtual-threads.md
5436c6055 is described below

commit 5436c60551d9f9196f85e1589b1fd4c5ed31fcb0
Author: Matt Pavlovich <[email protected]>
AuthorDate: Mon Aug 3 14:35:59 2026 -0500

    Update virtual-threads.md
    
    Update virtual threads page to indicate 6.3.0 release and update usage 
guide to match multi-release jar
---
 .../classic/documentation/virtual-threads.md       | 50 +++++++++++-----------
 1 file changed, 24 insertions(+), 26 deletions(-)

diff --git a/src/components/classic/documentation/virtual-threads.md 
b/src/components/classic/documentation/virtual-threads.md
index 668d5d57c..47cc75785 100644
--- a/src/components/classic/documentation/virtual-threads.md
+++ b/src/components/classic/documentation/virtual-threads.md
@@ -9,39 +9,24 @@ type: classic
 
 ### Virtual Threads support 
 
-ActiveMQ support for Virtual Threads is in Technology Preview stage.
+ActiveMQ support for Virtual Threads is in Technology Preview stage. Virtual 
Thread support is implemented using multi-release jar, so no special changes to 
the distribution are required.
 
 ### Virtual Threads benefits
 
- * Performance on-par with reactive coding approaches
+ * Performance on-par (or better) than reactive coding approaches
  * JDK-based option for peak concurrency performance
  * Automatically scales based on need and detected CPU cores
  * Less configuration tuning required for administrators
  * Easier to code extensions
-
-### Virtual Threads warning
-
-JDK 21 support for Virtual Threads can lead to thread pinning in 
_synchronized_ code blocks, which negates the performance benefit from using 
virtual threads and may lead to other issues. 
-
-Technical factors:
-
- * ActiveMQ currently (6.1.x) uses virtual thread-friendly locking for key 
data structures in the Queue class
- * ActiveMQ currently (6.1.x) uses virtual thread-unfriendly _synchronized_ 
code blocks in many areas in the client and broker code
- * JDK 23 is slated to address the thread pinning in _synchronized_ code blocks
- * JDK 25 is the next planned LTS release after JDK 21
- * Areas of ActiveMQ source code will need to be modernized to be more virtual 
thread friendly
- * New virtual-thread first implementations may be added using extension 
points in the broker, vs refactoring the existing stable components 
-
-JDK thread pinning improvement:
-ref:  https://mail.openjdk.org/pipermail/loom-dev/2024-May/006632.html
+ * Scales connection count
+ * Scales destination count
 
 ### Configuration
 
-To enable Virtual Threads in ActiveMQ 6.x (and higher)
+To enable Virtual Threads in ActiveMQ 6.3.x (and higher)
 
-1. Checkout activemq source code from git
-2. Build using JDK 21 (Virtual Thread support will be added automatically)
-3. Replace the lib/activemq-client_version_.jar with the 
lib/jdk21/activemq-client-jdk21-_version.jar
+1. Run Apache ActiveMQ 6.3.0 (or higher)
+2. Run with Java JDK 25 (or newer)
 3. Edit conf/activemq.xml
 
     <broker ... virtualThreadTaskRunner="true" .. >
@@ -54,11 +39,24 @@ NOTE: The log message may be removed in the future
 
 ### ActiveMQ Virtual Thread Implementation Progress 
 
-The implementation approach is subject to change. Be sure to verify features 
in Release notes. 
-
-User feedback is welcome! Please comment on the JIRAs with questions and 
comments.
+Virtual Thread support was released with ActiveMQ v6.3.0. User feedback is 
welcome! Please open a GitHub issue with questions and comments.
 
 JIRA|Status|Target Version|Completed Version|Feature|Notes
 ---|---|---
-[AMQ-9394](https://issues.apache.org/jira/browse/AMQ-9394) | PR 
[#1172](https://github.com/apache/activemq/pull/1172) | 6.2.0 | | Task Runner 
Factory | Tech Preview support to allow Virtual Thread Executor Service
+[AMQ-9394](https://issues.apache.org/jira/browse/AMQ-9394) | PR 
[#1172](https://github.com/apache/activemq/pull/1172) | 6.2.0 | 6.3.0 | Task 
Runner Factory | Tech Preview support to allow Virtual Thread Executor Service
+
+### Reference: Running with Virtual Threads
+
+JDK 25 (or newer) should always be used when running Virtual Threads to avoid 
thread pinning.
+
+Technical factors:
+
+ * ActiveMQ currently (6.1.x) uses virtual thread-friendly locking for key 
data structures in the Queue class
+ * ActiveMQ currently (6.1.x) uses virtual thread-unfriendly _synchronized_ 
code blocks in many areas in the client and broker code
+ * JDK 23 is slated to address the thread pinning in _synchronized_ code blocks
+ * JDK 25 is the next planned LTS release after JDK 21
+ * Areas of ActiveMQ source code will need to be modernized to be more virtual 
thread friendly
+ * New virtual-thread first implementations may be added using extension 
points in the broker, vs refactoring the existing stable components 
 
+JDK thread pinning improvement:
+ref:  https://mail.openjdk.org/pipermail/loom-dev/2024-May/006632.html


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to