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.
// 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
unmonitorMessage(message, 'clearRd')
clearMessagePermanent(message)
return 0