Class Reference
IRIS for UNIX 2019.2
InterSystems: The power behind what matters   
Documentation  Search
  [ENSLIB] >  [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 11 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 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)

Copyright (c) 2019 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.