20. Artemis
Apache ActiveMQ Artemis is a message broker that can be used as a queue in ArmoniK. We deployed an instance of artemis in ArmoniK.Core to include it in our test pipelines and ensure that it works well with ArmoniK. It allowed us to find an appropriate deployment and configuration for Artemis but we encountered several issues.
20.1. Issues
We encountered two issues:
Same messages were sent to multiple Scheduling agents. It was due to a misconfiguration on our part. We needed to used ANYCAST queues instead of MULTICAST ones.
The second issue, the one that makes us drop Artemis for the time being, makes that the SenderLink created through our adapter times out during its close. Then, we cannot create a new SenderLink on the same address making the tasks that create other tasks fail.
20.2. Future work
As the AMQP adapter does not seem to fit well with Artemis for our use case, we can implement adapters dedicated to other protocols supported by Artemis such as MQTT, STOMP, HornetQ or Artemis native protocol named “Core”. See more information here.