Axon Framework Operations

AxonIQ Console can manage Axon Framework applications. To achieve this, it allows the platform to call your applications remotely. There is a specific contract of the actions that can be called.

Event processors

Event processors can be managed from AxonIQ console. There are several actions that can be done:

Route Description

processor-command-start

Start an event processor (if not started yet)

processor-command-stop

Pause an event processor (if not paused yet)

processor-split-segment

Tells the processor to split a segment in two, parallelizing the processing of the segment.

processor-merge-segment

Tells the processor to merge two segments into one, reducing the parallelization of the processing.

event-processor-claim

Tells the processor to claim a segment for processing. This is used to distribute the segments between processors.

processor-command-release-segment

Tells the processor to stop processing a segment and blocklist it for some seconds so another processor can take over.

processor-command-reset

Tells the processor to reset the position of the processor to the given position.

event-processor-status

Get the status of the event processor. Used by the server during actions to refresh data more often than once every 5 seconds.

Some actions in this list may be called automatically by AxonIQ Console if configured to do so by the user. For example, if automatic scaling of segments is enabled, the processor-split-segment and processor-merge-segment actions will be called by the console itself when needed to control the number of segments.

Dead letters

Dead letters can be managed from AxonIQ Console. There are several operations that can be done:

Route Description

dlq-query-dead-letters

Queries the dead letters for a processing group, paginated. Will only return sensitive data if configured to do so. See below for configuration.

dlq-query-dead-letter-sequence-size

Queries the size of the dead letter sequence for a processing group. Not in use.

dlq-command-delete-sequence

Deletes a sequence of dead letters for a processing group.

dlq-command-delete-letter

Deletes a specific dead letter.

dlq-command-process

Tells the application to retry a dead letter.

During the configuration of the client via the web interface, you will be able to choose various modes for the DLQ data shown. The modes are:

Mode

Description

NONE

No data is shown at all, except the number of dead letters.

MASKED

Message payloads and diagnostic data won’t be shown. The aggregate identifier will be hashed. The event type and the optional exception will be shown as-is.

LIMITED

Message payloads won’t be shown. The aggregate identifier will be shown as-is. From the diagnostics only the keys set in the axoniq.console.dlq-diagnostics-whitelist will be shown.

FULL

All the message payloads, aggregate identifier, and the diagnostics data will be visible.

In the absence of a configuration, the default mode is NONE.

Management

There are several management operations that can be used by AxonIQ Console:

Route Description

client-heartbeat

Simple call to check if the application is still alive.

client-settings

Updates the settings of the client, such as the update interval. Not in use.

client-settings-v2

Updates the settings of the client, such as the update interval. Not in use.

client-log

Sends a log message to the client, for example, when exceeding the limit of applications that can be connected to the console.

client-reporting-stop

Tells the client to stop sending data to the console. Called when the number of clients has been exceeded for a long time.

client-reporting-start

Tells the client to start sending data to the console again. Called when the number of clients has been reduced.