This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/activemq-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new cac5f2955 Automatic Site Publish by Buildbot
cac5f2955 is described below
commit cac5f29556b6c3a7d646da2156fc8c57543493d9
Author: buildbot <[email protected]>
AuthorDate: Fri Aug 30 16:32:06 2024 +0000
Automatic Site Publish by Buildbot
---
.../classic/documentation/virtual-threads.html | 23 ++++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/output/components/classic/documentation/virtual-threads.html
b/output/components/classic/documentation/virtual-threads.html
index 931b97a58..ee9d2897c 100644
--- a/output/components/classic/documentation/virtual-threads.html
+++ b/output/components/classic/documentation/virtual-threads.html
@@ -108,6 +108,24 @@
<li>Easier to code extensions</li>
</ul>
+<h3 id="virtual-threads-warning">Virtual Threads warning</h3>
+
+<p>JDK 21 support for Virtual Threads can lead to thread pinning in
<em>synchronized</em> code blocks, which negates the performance benefit from
using virtual threads and may lead to other issues.</p>
+
+<p>Technical factors:</p>
+
+<ul>
+ <li>ActiveMQ uses virtual thread-friendly locking for key performance
related ares in the Queue class</li>
+ <li>ActiveMQ uses virtual thread-unfriendly <em>synchronized</em> code
blocks in many areas</li>
+ <li>JDK 23 is slated to address the thread pinning in <em>synchrnoized</em>
code blocks</li>
+ <li>JDK 25 is the next planned LTS release after JDK 21</li>
+ <li>Areas of ActiveMQ source code will need to be modernized to be more
virtual thread friendly</li>
+ <li>New virtual-thread first implementations may be added using extension
points in the broker, vs refactoring the existing stable components</li>
+</ul>
+
+<p>JDK thread pinning improvement:
+ref: https://mail.openjdk.org/pipermail/loom-dev/2024-May/006632.html</p>
+
<h3 id="configuration">Configuration</h3>
<p>To enable Virtual Threads in ActiveMQ Classic 6.x (and higher)</p>
@@ -115,6 +133,7 @@
<ol>
<li>Checkout activemq source code from git</li>
<li>Build using JDK 21 (Virtual Thread support will be added
automatically)</li>
+ <li>Copy the lib/jdk21/activemq-client-jdk21-<em>version.jar to
lib/activemq-client-_version</em>.jar</li>
<li>
<p>Edit conf/activemq.xml</p>
@@ -157,10 +176,10 @@
<tr>
<td><a
href="https://issues.apache.org/jira/browse/AMQ-9394">AMQ-9394</a></td>
<td>PR <a
href="https://github.com/apache/activemq/pull/1121">#1121</a></td>
- <td>6.1.0</td>
+ <td>6.2.0</td>
<td> </td>
<td>Task Runner Factory</td>
- <td>Optional support to configure Virtual Thread Executor Service</td>
+ <td>Tech Preview support to allow Virtual Thread Executor Service</td>
</tr>
</tbody>
</table>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact