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:

JBoss CLI reference

Internal content