To connect ReadyAPI directly to your broker (Artemis) you do need to give ReadyAPI the Artemis client JARs and configure a JMS Request (JNDI or direct).
The documentation below...
What to do (Artemis)
1. Put the Artemis client libs where ReadyAPI can load them.
Two supported ways:
* Manual: drop the Artemis client JARs into `<ReadyAPI>/bin/ext`, then restart ReadyAPI. (This is the simplest.)
> Use **Artemis** client jars, not “ActiveMQ Classic” 5.x. Artemis’ JMS classes and JNDI factory are different.
Version note: ReadyAPI 3.61+ switched from `javax.jms` to `jakarta.jms`. Match your Artemis client to that namespace:
* ReadyAPI ≤ 3.60 -> use javax.jms Artemis client
* ReadyAPI ≥ **3.61 -> use jakarta.jms Artemis client
If you mix these, you’ll get `ClassNotFoundException`/`NoSuchMethodError` at runtime.
2. Configure the JMS Request in ReadyAPI. You can do either:
A) JNDI style (typical)
* Initial Context Factory:
`org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory`
* Provider URL: your broker URL, e.g. `tcp://broker-host:61616`
* JNDI entries (example):
connectionFactory.ConnectionFactory=tcp://broker-host:61616
queue.MY.QUEUE=MY.QUEUE
topic.MY.TOPIC=MY.TOPIC
Then choose `ConnectionFactory` and `MY.QUEUE` in the step. (Names are your bindings.)
B) Direct (no JNDI)
ReadyAPI can connect straight to the provider if the client classes are present; use the “manual configuration” path and select Artemis’ connection factory (e.g., `org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory`) and set the broker URL.
3. Restart ReadyAPI so it picks up the libs, then create a JMS Request test step and send.
Common pitfalls we see
* Wrong client family: Using ActiveMQ 5.x (`org.apache.activemq.ActiveMQConnectionFactory`) for Artemis. You must use Artemis libs.
* Namespace mismatch: ReadyAPI 3.61+ expects jakarta.jms; older Artemis (javax) jars won’t load. And vice versa on ≤3.60.
* HermesJMS confusion: Hermes was removed years ago; use ReadyAPI’s built-in JMS or the connector plugin—don’t try to wire Hermes/JMSToolBox into ReadyAPI.
TL;DR mapping for your case (Artemis)
* Ignore JMSToolBox’s folder. Copy the Artemis client jars into `<ReadyAPI>/bin/ext`
* In the JMS Request, set Initial Context Factory to `org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory`, Provider URL to `tcp://…:61616`, and bind your queues via JNDI entries (or go direct with the Artemis connection factory).
* Make sure your Artemis client matches ReadyAPI’s javax/jakarta JMS version.
Let me know how it goes!