Home > Class Reference > ENSLIB namespace > Ens.Enterprise.MsgBank.MessageHeader
Private   Storage    


persistent class Ens.Enterprise.MsgBank.MessageHeader extends %Persistent, Ens.MessageHeaderBase, %XML.Adaptor, %Library.IndexBuilder

Subclass of Ens.MessageHeader that lives only on the Message Bank Server, incorporating the original header from the client plus a record of the client node it came from


Parameters Properties Methods Queries Indices ForeignKeys Triggers
3 8 7 15 1


BusinessProcessId ClientBodyClassName ClientBodyId ClientCorrespondingMessageId
ClientId ClientSessionId CorrespondingMessageId Description
ErrorStatus ID Invocation IsError
MessageBodyClassName MessageBodyId NodeId Priority
Resent ReturnQueueName SessionId SourceBusinessType
SourceConfigName Status SuperSession TargetBusinessType
TargetConfigName TargetQueueName TimeBanked TimeCreated
TimeProcessed Type
%AddToSaveSet %AddToSyncSet %BMEBuilt
%CheckConstraints %CheckConstraintsForExtent %ClassIsLatestVersion
%ClassName %ComposeOid %ConstructClone
%ConstructIndicesParallel %Delete %DeleteExtent
%DeleteId %DispatchClassMethod %DispatchGetModified
%DispatchGetProperty %DispatchMethod %DispatchSetModified
%DispatchSetMultidimProperty %DispatchSetProperty %Exists
%ExistsId %Extends %GUID
%GUIDSet %GetLock %GetParameter
%GetSwizzleObject %Id %InsertBatch
%IsA %IsModified %IsNull
%KillExtent %KillExtentData %LoadFromMemory
%LockExtent %LockId %New
%NormalizeObject %ObjectIsNull %ObjectModified
%Oid %OnBeforeAddToSync %OnDetermineClass
%Open %OpenId %OriginalNamespace
%PackageName %PhysicalAddress %PurgeIndices
%Reload %RemoveFromSaveSet %ResolveConcurrencyConflict
%RollBack %Save %SaveDirect
%SaveIndices %SerializeObject %SetModified
%SortBegin %SortEnd %SyncObjectIn
%SyncTransport %UnlockExtent %UnlockId
%ValidateIndices %ValidateObject ClientCorrespondingMessageIdGet
ClientIdGet ClientSessionIdGet NodeIdGet
Purge PurgeBitmaps PurgeSetTemp
ResendDuplicatedMessage XMLDTD XMLExport
XMLExportToStream XMLExportToString XMLNew
XMLSchema XMLSchemaNamespace XMLSchemaType


parameter EXTENTSIZE = 20000000;
The EXTENTSIZE parameter is used to inform the Caché SQL Query Optimizer of the approximate number of instances in the extent containing instances of this class.

For example, a class that expects to have about 1,000,000 instances should define:

parameter EXTENTSIZE = 1000000;
parameter INDEXBUILDERFILTER = "NodeIdTime,NodeId,NTrg,NSrc";
parameter XMLTYPE = "MsgBankHeader";
This parameter provides the default XMLTYPE for the class. If it is empty then the class name will be used to construct a default XML type. The default XMLTYPE is used when naming and referencing this type in a schema and the schema context did not provide an XML type name.


property ClientBodyClassName as %String(MAXLEN=128,XMLPROJECTION="NONE");
property ClientBodyId as %String(COLLATION="EXACT",MAXLEN="",XMLPROJECTION="NONE");
property ClientCorrespondingMessageId as %Integer(MINVAL=1,XMLPROJECTION="NONE") [ Calculated,Transient,ReadOnly ];
property ClientId as %Integer(MINVAL=1,XMLPROJECTION="NONE") [ Calculated,ReadOnly ];
property ClientSessionId as %Integer(MINVAL=1,XMLPROJECTION="NONE") [ Calculated,Transient,ReadOnly ];
property ID as %Integer(MINVAL=1,XMLPROJECTION="NONE");
property NodeId as %Integer(MAXVAL=999,MINVAL=100,XMLPROJECTION="NONE") [ Calculated,ReadOnly ];
property TimeBanked as Ens.DataType.UTC(XMLPROJECTION="NONE") [ InitialExpression = $ZDT($ZTS,3,,3) ];


method ClientCorrespondingMessageIdGet() as %Integer
This is a Get accessor method for the ClientCorrespondingMessageId property.
method ClientIdGet() as %Integer
This is a Get accessor method for the ClientId property.
method ClientSessionIdGet() as %Integer
This is a Get accessor method for the ClientSessionId property.
method NodeIdGet() as %Integer
This is a Get accessor method for the NodeId property.
classmethod Purge(Output pDeletedCount As %Integer, pDaysToKeep As %Integer = 7, pKeepIntegrity As %Boolean = 1, pBodiesToo As %Boolean = 1, pBitmapChunkLimit As %Integer = 500) as %Status
classmethod PurgeSetTemp(pType As %Integer, pMsg As %String, pSC As %Status, pSC2 As %Status) as %Status
Log a warning in the Event Log; add to tSC status; set error/warning in a temp global as below:
Total error count is in subscript 0.
Errors while deleting message headers are in subscript 1.
Errors while deleting message bodies are in subscript 2.
Errors while deleting search table entries are in subscript 3.
classmethod ResendDuplicatedMessage(ByRef pWSClientObjs, pBankHeaderId As %String, Output pNewHeaderId As %String, pNewTarget As %String = "", pNewBody As %RegisteredObject = $$$NULLOREF, pNewSource As %String = "", pHeadOfQueue As %Boolean = 0, pUseOriginalClientBody As %Boolean = 0) as %Status
Called from MsgBank server side only. Invoke a SOAP call to resend a message on the chosen MsgBank client node / SOAP Resend service provider. There must exist a MonitorClient configured that matches the WebAddress of the chosen NodeId


•index (Extent on ) [Extent,Type = bitmap];
•index (ID on ID) [IdKey];
•index (MessageBodyClassName on MessageBodyClassName) [Type = bitmap];
•index (MessageBodyId on MessageBodyId);
•index (NSrc on NodeId,SourceConfigName) [Type = bitmap];
•index (NTrg on NodeId,TargetConfigName) [Type = bitmap];
•index (NodeClientId on NodeId,ClientId);
•index (NodeId on NodeId) [Type = bitmap];
•index (NodeIdTime on NodeId,TimeCreated);
•index (SessionId on SessionId);
•index (SourceConfigName on SourceConfigName) [Type = bitmap];
•index (Status on Status) [Type = bitmap];
•index (TargetConfigName on TargetConfigName) [Type = bitmap];
•index (TimeBanked on TimeBanked);
•index (TimeCreated on TimeCreated);


•trigger OnDelete (BEFORE event DELETE)