Open Exchange
Global Masters
Home / Class Reference / ENSLIB namespace / Ens.Enterprise.OperationBase
Private  Storage   


abstract class Ens.Enterprise.OperationBase extends

This operation and its configuration control archiving of messages from a configured subset of the config items in the production, via the MessageHandler() method.


Parameters Properties Methods Queries Indices ForeignKeys Triggers
2 12 8


This is a Business Operation class.

The associated Adapter class is Ens.OutboundAdapter.

Ens.MessageHeader %Library.Persistent

%ActionHint %AlertStartTime %ConfigName %ConfigQueueName
%Flags %LastActionTime %LastHandledTime %LastReportedError
%QuitTask %RequestHeader %SessionId %Source
%SuperSession %WarnedLatest %anyEvents %events
%hdrLocked %isShadow %lastCountSQL %lastFetchSQL
%rsSearchCount %rsSearchFetch Adapter AlertGroups
AlertOnError AlertRetryGracePeriod ArchiveIO ArchiveItems
BusinessPartner DeferResponse EnableArchiving EventLogInterval
FailureTimeout IOLogEntry InactivityTimeout NoFailWhileDisconnected
QueueCountAlert QueueWaitAlert ReplyCodeActions Retry
RetryCount RetryInterval SendSuperSession SuspendMessage

%%OIDGet %AddToSaveSet %BindExport %BuildObjectGraph
%ClassIsLatestVersion %ClassName %Close %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IncrementCount %IsA %IsModified
%New %NormalizeObject %ObjectModified %OnClose
%OnNew %OriginalNamespace %PackageName %RemoveFromSaveSet
%SerializeObject %SetModified %SuperSessionSet %ValidateObject
AdapterName AssignOneSetting CloseIOLogEntry DeferResponse
EnumerateSettingsClose EnumerateSettingsExecute EnumerateSettingsFetch EvalInitialExpression
GenerateSuperSession GetDeferredResponseToken GetMessageList GetProductionSettingValue
GetProductionSettings GetPropertyConnections GetRequestClassList GetResponseClassList
GetSettings GetShadowInstance IncludeSuperSession InitArchiveFlags
MessageHandler MessageHeaderHandler NewIOLogEntry OnConfigChange
OnError OnFailureTimeout OnGenerateSuperSession OnGetConnections
OnGetReplyAction OnInit OnKeepalive OnMessage
OnMonitor OnProductionStart OnProductionStop OnTask
OnTearDown QueueName SaveIOLogEntry SendAlert
SendDeferredResponse SendRequestAsync SendRequestSync SendRequestSyncMultiple
acceptRequestAsync acceptRequestSync doReplyAction finalReplyAction
findCachedObject initConfig inprocRequest makeConnections
queueRequestAsync queueRequestSync



• parameter ADAPTER = "Ens.OutboundAdapter";
The type of adapter used to communicate with external systems
• parameter SETTINGS = "ArchiveItems:Basic,EnableArchiving:Basic";
List of properties can be set as settings in the configuration file format is a comma separated list of property names


• property %Flags as %Integer;
Banked flags as passed from sending config item. Uses same values as Ens.MessageHeader.Banked : Header=1, Body=2, SearchTable=4, all=7
• property %Source as %Integer;
Source flag as passed from sending config item: 0=from no Config Item, 1=from SourceConfigItem, 2=TargetConfigItem, 3=Other
• property %anyEvents as %Boolean [ InitialExpression = 0 ];
Are we archiving any events at all?
• property %events  [ MultiDimensional ];
Array controlling which events we are archiving
• property %hdrLocked as %Boolean;
• property %lastCountSQL as %String;
• property %lastFetchSQL as %String;
• property %rsSearchCount as %ResultSet;
• property %rsSearchFetch as %ResultSet;
• property ArchiveItems as %String(MAXLEN="") [ InitialExpression = "*[*],-Ens.ScheduleService[*],-Ens.ScheduleHandler[*]" ];
Comma-separated list of ConfigNames of items whose message traffic should be archived to the MsgBank server
* means all items
- at the front of an item means exclude it from archiving entirely
! at the end of an item means exclude message bodies from archiving
$ at the end of an item means exclude SearchTable entries if any from archiving
- at the end of an item means exclude message headers from archiving

Log Events may be archived for each item using the following colon-separated syntax:

Within the event type brackets,
* means all event types
- in front of a type means exclude it from archiving

For events of type Trace, _ can be optionally used to select a particular category of trace event.
Event type Trace without a suffix means Trace events of all categories.
For example, *[*] means archive everything, and *$[*],Ens.Alert![-*] means archive all events, headers and bodies but not SearchTable entries, except don't archive bodies or events from item Ens.Alert.

Note that Trace events will only be archived if they have been logged. That is, these settings can only be used to restrict which logged events get archived, not to archive any events that were not configured to be logged.

• property EnableArchiving as %Boolean;
Enable queueing of archive events from other Config Items. Unless this setting is True no messages will be queued for archiving.
If this setting is True, messages will be queued for archiving even while this Operation is disabled.
All messages configured to be archived will be queued to this Operation for archiving. This Operation will forward them to the MsgBank server whenever it is enabled.
• property EventLogInterval as %Numeric [ InitialExpression = 0 ];
How frequently should we check for conforming EventLog events that may need to be forwarded to the MsgBank Server.
0 means check only when messages are being forwarded.


• classmethod InitArchiveFlags(pConfigName As %String)
Calculate ArchiveFlags for the current Job/ConfigItem for use in sending headers to the MsgBankOperation Flag bit fields: 1's bit - headers 2's bit - bodies 4's bit - SearchTable entries OR '*' bank nothing, but send status updates for other headers that have already been banked
• method MessageHeaderHandler(pRequestHeader As Ens.MessageHeader, Output pResponseHeader As Ens.MessageHeader) as %Status
This method is for internal use
• classmethod OnConfigChange(pProduction As Ens.Config.Production, pItem As Ens.Config.Item)
This method is called when config changes to this item are saved from the portal This method uses $$$EnsMirrorIndexInc to trigger all other jobs to call SetTraceOptimizer which calls InitArchiveFlags() which will update their behavior based on the config changes to this item.
• method OnInit() as %Status
This user callback method is called just after %OnNew()
• method OnMessage(pRequest As Ens.MessageHeader, Output pResponse As %Library.Persistent) as %Status
This is the default message handler. All request types not declared in the message map are delivered here
• method OnTask() as %Status
Override to use DeQueueId
• method OnTearDown() as %Status
This user callback method is called from %OnClose()
• private method initEventFlags()