Our java clients are artemis JMS 2.32, but we can and will keep updating.
Our application is written using almost entirely the "RPC" pattern:
- Post a request packet to service queue
- Block the caller thread waiting for a response in reply-to queue
- Process the result
While procedural programming with blocking RPC calls is easy, there are
problems with resource use and potential deadlock (all service threads busy,
but then someone makes a recursive RPC call). Some members of our team
advocate for a purely "reactive" model to solve these problems, but it is
harder to understand and debug.
This leads me to a few questions:
- Deadlock is only a concern with fixed thread pools. Can Artemis be configured
with "elastic" pools that expand and contract dynamically?
- Has the Artemis JMS client been validated against Java 21 virtual threads?
Can I just replace the thread factory to create virtual threads instead?
PLEASE NOTE: This e-mail from Redpoint Global Inc. ("Redpoint") is confidential
and is intended solely for the use of the individual(s) to whom it is
addressed. If you believe you received this e-mail in error, please notify the
sender immediately, delete the e-mail from your computer and do not copy, print
or disclose it to anyone else. If you properly received this e-mail as a
customer, partner or vendor of Redpoint, you should maintain its contents in
confidence subject to the terms and conditions of your agreement(s) with
Redpoint.