Draft: fix(core): migrate jms queue from hornetq to activemq
Description
fix(core): migrate jms queue from hornetq to activemq
- Ditch obsolete HornetQ implementation of JMS.
- Include Apache ActiveMQ JMS implementation which is its successor.
- javax.jms -> jakarta.jms migration.
- hornetq -> activemq package change for our server class.
- Deleted unused classes and hornetq xml configs.
- This should be minimal change in our code logic (usually just JMS client initialization).
DEPLOYMENT NOTES: Should use same host/port for JMS broker including persistent storage (this will probably need deletion during the deployment).
How to test
Deploy both rpc/engine on devel instance and test provisioning process.
- Check logs if dispatcher and engine are communicating correctly or if you see any weird errors.
- Check if messages are delivered after engine is restarted (dispatcher->engine).
- Opposite way is probably not supported, as broker is not standalone but embedded in rpc (dispatcher). So some messages from engine might be lost, but messages sent while rpc was running and not yet processed before restart/kill should be persisted in
/tmp/perun-dispatcher-data
. - note: maybe we will need to stop tomcat and remove that persistent storage before deploying new version of perun as implementation has changed and I don't know if it uses same data structures for file persistent storage or not.
Author's checklist
-
I have followed the contribution guidelines -
This MR has been tested or does not change functionality -
I have added relevant merge request dependencies (if this MR has any) -
I have added the correct labels -
I have assigned reviewers (if any are relevant) -
I have edited the documentation (if the changes require it) or I have noted the need for the change if I do not have access to the documentation -
I have marked all introduced BREAKING CHANGES or necessary DEPLOYMENT NOTES in the commit message(s)
Reviewer's checklist
-
This MR has been tested or does not change functionality -
This MR has correct commit message format
Other information
This is WIP. We want minimal working change to be tested/fixed first. Then we can cleanup stuff like javadoc/comments.
Related issues
None, just sec. advisory warnings from GitHub about using obsolete libraries (HornetQ, Netty etc.)