Ens.BusinessProcess
persistent class Ens.BusinessProcess extends %Library.Persistent, Ens.Host, Ens.Settings
SQL Table Name: Ens.BusinessProcess
Property Inventory
- %CurrentResponseHeader
- %IsCompleted
- %IsTerminated
- %IsTimerInterrupted
- %MasterPendingResponses
- %MasterPendingResponsesOld
- %MessagesReceived
- %MessagesReceivedOld
- %MessagesSent
- %MessagesSentOld
- %PrimaryRequestHeader
- %PrimaryResponseHeader
- %RepliedStatus
- %StatusCode
- %TimeCompleted
- %TimeCreated
- %request
- %response
- %responseClassName
- %responseId
- AlertRetryGracePeriod
- FailureTimeout
- QueueCountAlert
- QueueWaitAlert
- ReplyCodeActions
- Retry
- RetryInterval
- SuspendMessage
- ThrottleDelay
Method Inventory
- ClearAllPendingResponses()
- DeferResponse()
- IsResponsePending()
- OnComplete()
- OnError()
- OnErroredResponse()
- OnFailureTimeout()
- OnGetReplyAction()
- OnRequest()
- OnResponse()
- OnTimeout()
- RemovePendingResponse()
- Reply()
- ReplyError()
- SendAlert()
- SendRequestAsync()
- SendRequestSync()
- SetTimer()
- WillHandleErroredResponse()
Parameters
Properties
-1 means never give up.
Note that this alert will be sent even if AlertOnError is False.
Zero means no alerts of this type will be sent.
Only one alert will be raised per host item per sequential trigger of the queue wait threshold.
Note that this alert will be sent even if AlertOnError is False.
Zero means no alerts of this type will be sent.
A comma-separated list of codes specifying what action this Process will take on various reply status conditions.
The format of the list is:
<code>=<actions>,(<code>,<code>)=<actions>,...
Types of reply status condition are identified by a specification code:
- E - Error status returned from message handler
- E#<statuscode> - Error status returned from message handler has status code equal to <statuscode>
- E*<text> - Error status returned from message handler contains text string <text>
- X - there is no reply message at all
The following values for <actions> may be used alone or in combinations:
- C - Treat the message as Completed OK.
- W - Log a warning. If no other non-warning <actions> are triggered, the message will be treated as Completed OK.
- R - Retry the message according to the configured RetryInterval and FailureTimeout; finally Fail unless a different action is also specified. Note this setting is separate from the Retry property.
- S - Suspend the message, log an error, and move on to try the next message.
- D - Disable the Process, log an error and restore the original incoming message to the front of the Process's queue.
- F - Fail with an error and move on to try the next message from the Process's queue subject to the Retry property value set in the code. If the Retry property is set in the code then moving on to try the next message will be subject to the configured RetryInterval and FailureTimeout.
An example of a valid ReplyCodeActions specification is 'E#6301=R,E#<Ens>ErrGeneral=RD,E=F'. This specification will result in a retry when error code 6301 is encountered. When error code <Ens>ErrGeneral is encountered, the Process first retries to send the message until FailureTimeout and then, if the error continues, it disables the Process instead of failing. Any other errors will cause the Process to fail processing of the current message and return the error status to the caller, without retrying first unless the property Retry has been set to true by the Process code.
The default behavior is equivalent to 'E=F'. If the Retry property has been set by the Process code then retrying will be subject to the configured RetryInterval and FailureTimeout.
All codes where <actions> consists of only 'W' (for 'log a Warning') will be evaluated, and a warning will be generated for each matching <code>. Other <code> values will be evaluated in left-to-right order, executing the first matching <code> that has a non-warning <actions> value. As noted in the details for the 'W' flag, an error that only triggers 'W' <actions> will be treated as Completed OK.
Methods
Returning the same error will cause the BusinessProcess to set its status to error and close down Returning $$$OK from this method causes the BusinessProcess to recover from this error
For custom coded Business Processes that do not sub class Ens.BusinessProcessBPL it is also possible to use WillHandleErroredResponse() and OnErroredResponse()
Do not implement this method in custom code if sub classing Ens.BusinessProcessBPL since BPLs implement this method using automatic code generation.
If WillHandleErroredResponse() returns true then the response will be given to this method and not OnResponse().
OnError() is called before WillHandleErroredResponse() is checked.
OnError() is called before this return is checked.
Do not implement this method in custom code if sub classing Ens.BusinessProcessBPL since BPLs implement this to always return true.
Indexes
Inherited Members
Inherited Properties
- %ConfigName
- %ConfigQueueName
- %LastActionTime
- %LastHandledTime
- %LastReportedError
- %QuitTask
- %SessionId
- %SuperSession
- %WarnedLatest
- %isShadow
- Adapter
- AlertGroups
- AlertOnError
- BusinessPartner
- InactivityTimeout
Inherited Methods
- %%CLASSNAMELogicalToStorage()
- %%CLASSNAMEStorageToLogical()
- %AddToSaveSet()
- %AddToSyncSet()
- %BMEBuilt()
- %BuildIndicesAsync()
- %BuildIndicesAsyncResponse()
- %CheckConstraints()
- %CheckConstraintsForExtent()
- %ClassIsLatestVersion()
- %ClassName()
- %ComposeOid()
- %ConstructClone()
- %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()
- %OnClose()
- %OnDeleteFinally()
- %OnDetermineClass()
- %OnNew()
- %OnOpenFinally()
- %OnSaveFinally()
- %Open()
- %OpenId()
- %OriginalNamespace()
- %PackageName()
- %PhysicalAddress()
- %PurgeIndices()
- %Reload()
- %RemoveFromSaveSet()
- %ResolveConcurrencyConflict()
- %RollBack()
- %Save()
- %SaveDirect()
- %SaveIndices()
- %SerializeObject()
- %SetModified()
- %SortBegin()
- %SortEnd()
- %SuperSessionSet()
- %SyncObjectIn()
- %SyncTransport()
- %UnlockExtent()
- %UnlockId()
- %ValidateIndices()
- %ValidateObject()
- %ValidateTable()
- AdapterName()
- AssignOneSetting()
- EnumerateSettingsClose()
- EnumerateSettingsExecute()
- EnumerateSettingsFetch()
- GenerateSuperSession()
- GetDeferredResponseToken()
- GetMsgHdrRequestKey()
- GetProductionSettingValue()
- GetProductionSettings()
- GetPropertyConnections()
- GetSettings()
- GetShadowInstance()
- OnGenerateSuperSession()
- OnGetConnections()
- OnInit()
- OnKeepalive()
- OnMonitor()
- OnProductionStart()
- OnProductionStop()
- OnTearDown()
- QueueName()
- SendDeferredResponse()
Storage
Storage Model: Storage (Ens.BusinessProcess)
^Ens.BusinessProcessD(ID,"received",n) |
= | %MessagesReceived(n) |
Storage Model: Storage (Ens.BusinessProcess)
^Ens.BusinessProcessD(ID,"sent",n) |
= | %MessagesSent(n) |
Storage Model: Storage (Ens.BusinessProcess)
^Ens.BusinessProcessD(ID) |
= | %%CLASSNAME
%ConfigQueueName
%IsCompleted
%MasterPendingResponsesOld
%PrimaryRequestHeader
%PrimaryResponseHeader
%RepliedStatus
%responseId
Adapter
%SessionId
%TimeCompleted
%TimeCreated
%ConfigName
%QuitTask
AlertOnError
%responseClassName
%IsTimerInterrupted
%IsTerminated
%StatusCode
%MessagesReceivedOld
%MessagesSentOld
ReplyCodeActions
RetryInterval
AlertRetryGracePeriod
FailureTimeout
Retry
SuspendMessage
QueueCountAlert
QueueWaitAlert
InactivityTimeout
BusinessPartner
AlertGroups
%SuperSession
|
Subclasses
- Ens.Alerting.BaseProcess
- Ens.BusinessProcessBPL
- Ens.ScheduleHandler
- EnsLib.HL7.SequenceManager
- EnsLib.ITK.AdapterKit.Process.Base64ToXMLMediator
- EnsLib.ITK.AdapterKit.Process.HL7ToITK
- EnsLib.ITK.AdapterKit.Process.ITKToHL7
- EnsLib.ITK.AdapterKit.Process.XMLToBase64Mediator
- EnsLib.ITK.Framework.Process.CallBackPurgeRoutine
- EnsLib.ITK.Framework.Process.DispatchResponse
- EnsLib.ITK.Framework.Process.ITKMessageRouter
- EnsLib.ITK.Framework.Process.SuspendedPurgeRoutine
- EnsLib.MsgRouter.RoutingEngine
- EnsLib.PEX.BusinessProcess
- EnsLib.PrivateSession.Process
- EnsLib.Testing.Process
- EnsLib.ebXML.Process.MessageService
- HS.AU.HI.Management.Process
- HS.AU.SMD.Process
- HS.FHIR.DTL.Util.HC.FHIR.SDA3.Process
- HS.FHIR.DTL.Util.HC.SDA3.FHIR.Process
- HS.FHIR.FromSDA.DTL.Transaction.Process
- HS.FHIR.Server.Process
- HS.FHIR.ToSDA.DTL.Process
- HS.FHIR.vDSTU2.MHD.Recipient.Process
- HS.FHIR.vDSTU2.MHD.Responder.Process
- HS.FHIR.vDSTU2.PDQm.Supplier.Process
- HS.FHIR.vDSTU2.PIXm.Manager.Process
- HS.FHIR.vSTU3.MHD.Recipient.Process
- HS.FHIR.vSTU3.MHD.Responder.Process
- HS.FHIR.vSTU3.PDQm.Supplier.Process
- HS.FHIR.vSTU3.PIXm.Manager.Process
- HS.FHIRServer.Interop.Process
- HS.HC.IHE.DSUB.Publisher.Process
- HS.HC.IHE.RMU.Process
- HS.HC.IHE.XDR.Recipient.CommonProcess
- HS.IHE.DSUB.NotificationConsumer.Process
- HS.IHE.PDQ.Supplier.Process
- HS.IHE.PIX.Consumer.Process
- HS.IHE.PIX.Manager.Process
- HS.IHE.XCA.Common
- HS.IHE.XCAI.InitiatingGateway.Process
- HS.IHE.XCAI.RespondingGateway.Process
- HS.IHE.XCPD.InitiatingGateway.PassthroughProcess
- HS.IHE.XCPD.InitiatingGateway.Process
- HS.IHE.XCPD.RespondingGateway.Process
- HS.IHE.XDM.PortableMediaCreator.Process
- HS.IHE.XDM.PortableMediaImporter.Process
- HS.IHE.XDSb.Repository.Process
- HS.IHE.XDSb.Repository.Router