Below is Cursor's opinion on the viability of subscribing using ActiveMQ.
ActiveMQ Artemis. Same dual API as RabbitMQ. The current source uses IMessageConsumer.ReceiveAsync with a short timeout. NMS also has a Listener (MessageListener) that the broker dispatches into. Client-ack, no per-message heartbeat, prefetch on the consumer — this maps almost directly onto RabbitMqSubscribeJobSource.
Testing
Similar to RabbitMQ, testing criteria is:
Below is Cursor's opinion on the viability of subscribing using ActiveMQ.
ActiveMQ Artemis. Same dual API as RabbitMQ. The current source uses
IMessageConsumer.ReceiveAsyncwith a short timeout. NMS also has aListener(MessageListener) that the broker dispatches into. Client-ack, no per-message heartbeat, prefetch on the consumer — this maps almost directly ontoRabbitMqSubscribeJobSource.Testing
Similar to RabbitMQ, testing criteria is:
developalongside the polling implementation, it should be immediately responsive to new messagesThe implementation should respect theWorks in cases, low priority. See commentsJOBS__HALT_ON_FAILUREenvironment variable being set totruefor major problems. Break the exception arbiter in a local test if you have to in order to confirm this.