Resolution
Wildfly ActiveMQ subsystem is responsible for Odin Automation inter-component messaging.
Examples of communications that use ActiveMQ JMS protocols:
- UX1 notifications
- APS events
- Periodic jobs
In order to navigate through message queues, it is possible to uses the JBoss console on the OSS Core node.
Set JBOSS_HOME to the proper directory of the actual Wildfly version, e.g.:
# export JBOSS_HOME=/usr/local/pem/wildfly-11.0.0.Final/
Connect to the console:
# sh $JBOSS_HOME/bin/jboss-cli.sh -c
List the existing queues:
[standalone@localhost:9990 /] /subsystem=messaging-activemq/server=default:read-children-names(child-type="jms-queue")
{
"outcome" => "success",
"result" => [
"DLQ",
"ExpiryQueue",
"ResourceEventAccumulator",
"ResourceEventHandlers",
"com.parallels.jms.queue.JobBatchStart",
"com.parallels.jms.queue.Notifications",
"com.parallels.jms.queue.ProxyFileUpdates"
]
}
To check each queue separately it is convenient to use built-in jms-queue utility:
[standalone@localhost:9990 /] jms-queue count-messages --queue-address=ResourceEventHandlers
1079L
[standalone@localhost:9990 /] jms-queue count-messages --queue-address=com.parallels.jms.queue.Notifications
0L
To list the existing messages, it's needed to check both active and scheduled messages.
[standalone@localhost:9990 server=default] jms-queue list-messages --queue-address=ResourceEventHandlers
[standalone@localhost:9990 server=default] jms-queue list-scheduled-messages --queue-address=ResourceEventHandlers
To remove a particular message by its ID (should be needed very rarely):
[standalone@localhost:9990 server=default] /subsystem=messaging-activemq/server=default/jms-queue=ResourceEventHandlers:remove-message(message-id="ID:d6a3c660-0f48-11e9-a44d-001dd8b72e7b")
JBoss console reference guide can be checked further for any other possible actions to manipulate JMS queues and other objects: