Ens.BusinessOperation
abstract class Ens.BusinessOperation extends Ens.Host, Ens.Util.IOLogger
Property Inventory
- %AlertStartTime
- %RequestHeader
- AlertRetryGracePeriod
- DeferResponse
- FailureTimeout
- NoFailWhileDisconnected
- QueueCountAlert
- QueueWaitAlert
- ReplyCodeActions
- Retry
- RetryCount
- RetryInterval
- SendSuperSession
- SuspendMessage
Method Inventory
- DeferResponse()
- GetMessageList()
- IncludeSuperSession()
- OnError()
- OnFailureTimeout()
- OnGetReplyAction()
- OnKeepalive()
- OnMessage()
- SendAlert()
- SendRequestAsync()
- SendRequestSync()
Parameters
Properties
After this number of seconds has elapsed, the business operation discards the message data and returns an error code.
To ensure that no message is ever skipped, enter a Failure Timeout value of -1, which means 'Never time out'.
Use a setting of -1 when complete data delivery is critical, for example in health care applications.
Does not apply if FailureTimeout=-1 or StayConnected=0.
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 Operation 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 Operation, log an error and restore the message to the front of the Operation's queue.
- F - Fail with an error and move on to try the next message from the Operation'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.
The default behavior is equivalent to 'E=F'. If the Retry property has been set by the Operation 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.
Flag whether the %SuperSession property ought to be included in the outbound message.
Including the Super Session in the outbound message depends on the transport mechanism.
InterSystems IRIS supports automatically including the %SuperSession in the HTTP Headers for both the HTTP and SOAP Outbound Adapters based on this setting.
For other transport mechanisms custom code can call the host operation API: IncludeSuperSession()(.tSC) and then use as appropriate the host property value of %SuperSession if IncludeSuperSession API returns true.
The IncludeSuperSession() API returns true if the operation ought to send a super session based on this host setting of SendSuperSession and the %SuperSession property is not empty.
The IncludeSuperSession() API will populate the host property %SuperSession with either a generated Super Session or leave it with the Super Session passed to it with the request.
The IncludeSuperSession() API will return false if either SendSuperSession is false or there was an error generating the super session (tSC will be populated accordingly).
Example use in custom adapter Code:#dim tSC As %Status = $$$OK If ..BusinessHost.IncludeSuperSession(.tSC) { /* code to include ..BusinessHost.%SuperSession in output based on transport mechanism. */ }
See also Host methods GenerateSuperSession() and OnGenerateSuperSession()
Methods
SendSuperSession setting needs to be true.
%SuperSession will be generated if it is an empty string and SendSuperSession is true.
Returns error status as an output parameter.
Method will return false if %SuperSession is empty string or an error.
Inherited Members
Inherited Properties
- %ConfigName
- %ConfigQueueName
- %LastActionTime
- %LastHandledTime
- %LastReportedError
- %QuitTask
- %SessionId
- %SuperSession
- %WarnedLatest
- %isShadow
- Adapter
- AlertGroups
- AlertOnError
- ArchiveIO
- BusinessPartner
- IOLogEntry
- InactivityTimeout
- ThrottleDelay
Inherited Methods
- %AddToSaveSet()
- %ClassIsLatestVersion()
- %ClassName()
- %ConstructClone()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %Extends()
- %GetParameter()
- %IsA()
- %IsModified()
- %New()
- %NormalizeObject()
- %ObjectModified()
- %OnClose()
- %OnNew()
- %OriginalNamespace()
- %PackageName()
- %RemoveFromSaveSet()
- %SerializeObject()
- %SetModified()
- %SuperSessionSet()
- %ValidateObject()
- AdapterName()
- AssignOneSetting()
- CloseIOLogEntry()
- EnumerateSettingsClose()
- EnumerateSettingsExecute()
- EnumerateSettingsFetch()
- GenerateSuperSession()
- GetDeferredResponseToken()
- GetMsgHdrRequestKey()
- GetProductionSettingValue()
- GetProductionSettings()
- GetPropertyConnections()
- GetSettings()
- GetShadowInstance()
- NewIOLogEntry()
- OnGenerateSuperSession()
- OnGetConnections()
- OnInit()
- OnMonitor()
- OnProductionStart()
- OnProductionStop()
- OnTearDown()
- QueueName()
- SaveIOLogEntry()
- SendDeferredResponse()
Subclasses
- Ens.Activity.Operation.Base
- Ens.Alerting.NotificationOperation
- Ens.BusinessDuplex
- Ens.Enterprise.OperationBase
- EnsLib.AmazonCloudWatch.MetricAlarmOperation
- EnsLib.AmazonCloudWatch.MetricDataOperation
- EnsLib.AmazonCloudWatchLogs.BusinessOperation
- EnsLib.AmazonSNS.BusinessOperation
- EnsLib.AmazonSQS.Operation
- EnsLib.Background.Workflow.Operation
- EnsLib.CloudStorage.BusinessOperation
- EnsLib.DotNetGateway.AbstractOperation
- EnsLib.EDI.EDIFACT.Operation.Standard
- EnsLib.EDI.X12.Operation.Standard
- EnsLib.EDI.XML.Operation.Standard
- EnsLib.FTP.PassthroughOperation
- EnsLib.File.PassthroughOperation
- EnsLib.HTTP.GenericOperation
- EnsLib.JMS.Operation
- EnsLib.JMSPEX.Operation
- EnsLib.JavaGateway.AbstractOperation
- EnsLib.Kafka.Operation
- EnsLib.LDAP.Operation.Standard
- EnsLib.MFT.Operation.Passthrough
- EnsLib.MQSeries.PassthroughOperation
- EnsLib.MQTT.Operation.Passthrough
- EnsLib.PEX.BusinessOperation
- EnsLib.Printing.AbstractPrintJobRenderer
- EnsLib.Printing.AbstractPrinter
- EnsLib.PubSub.RoutingOperation
- EnsLib.PushNotifications.APNS.Operation
- EnsLib.PushNotifications.GCM.Operation
- EnsLib.REST.Operation
- EnsLib.RabbitMQ.Operation
- EnsLib.RecordMap.Batcher
- EnsLib.RecordMap.Operation.ComplexBatchStandard
- EnsLib.RecordMap.Operation.Standard
- EnsLib.SAP.Operation
- EnsLib.SOAP.GenericOperation
- EnsLib.SQL.Operation.GenericOperation
- EnsLib.TCP.Framed.PassthroughOperation
- EnsLib.TCP.PassthroughOperation
- EnsLib.Workflow.Operation
- EnsLib.XML.Object.Operation.Standard
- EnsLib.XSLT.Transformer
- EnsLib.ebXML.Operation.MessageTracker
- EnsLib.ebXML.Operation.SOAPOperation