Message Processing Overview


An MVCA server connects to mainframe consoles through CCS, and to Hardware Management Consoles (HMC) using IBM's Hardware Console Management API.

A server also creates an internal Watchdog-Session session to monitor the internal operation of a server. Each of these connections, also called sessions, generates message that are processed by a set of rules and sent to viewers.

Rule Processing

Each message is processed by a set of rules that are Rule-Assignments.

A rule consists of two parts: a trigger on statement and a body. The first executable line in a rule must be a trigger on statement, and the body is all statements after the trigger on statement.

The trigger on statement takes a boolean expression. If the expression evaluates to true, then the body is executed. If the expression evaluates to false, the body of the rule is not executed.

Rules are executed when a message is produced by a session. Each rule has access to two predefined property maps, a message and a messageSource. The messageSource property map contains information about the session state. The message property map contains the details of the event. The exact fields contained in the property maps vary depending on the session type. The table below shows the standard properties in a message.

Name

Description

COLOR

The color of the message. One of RED, GREEN, BLUE, MAGENTA, CYAN, YELLOW, WHITE.

SESSION_NAME

The name of the session

TEXT

The text of the message with new lines (if any) removed.

LINES

The text of the message as received as a collection of text lines.

RECV_TIME

The time the message was received in milliseconds since 1 January, 1970.

Every message is automatically sent to all viewers connected to the session unless the message has been discarded using the discard-function function.

Sample Rule

This rule moves all white messages to the priority area. When the message is resolved on the console, it is cleared using the clearRd function below.

trigger on message.COLOR == WHITE

// Escalate the message to be a priority message. This causes
// the message to be put in the priority message area of the
// Automation viewer.
markMessagePermanent(message)

// Monitor the message. If the color changes or the message scrolls
// off of the screen, the 'clearRd' function is called.
monitorMessage(message, 'clearRd')

 

Sample Functions

function clearRd(message, reason)

unmonitorMessage(message, 'clearRd')

clearMessagePermanent(message)

return 0

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*