Class Reference
IRIS for UNIX 2024.1.2
InterSystems: The power behind what matters   
Documentation  Search
  [USER] >  [Ens] >  [BusinessService]
Private  Storage   

abstract class Ens.BusinessService extends Ens.Host, Ens.Util.IOLogger

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
2 10 20


Summary

This is a Business Service class.

Properties
%AlertStartTime %ConfigName %ConfigQueueName
%LastActionTime %LastHandledTime %LastReportedError
%OutsideCreated %PreserveSession %ProcessInputCalled
%QuitTask %RequestHeader %SessionId
%SuperSession %SuperSessionCreatedBeforeSession %WaitForNextCallInterval
%WarnedLatest %isShadow Adapter
AlertGracePeriod AlertGroups AlertOnError
ArchiveIO BusinessPartner GenerateSuperSessionID
IOLogEntry InactivityTimeout ThrottleDelay

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 ForceSessionId GenerateSuperSession GetDeferredResponseToken
GetMsgHdrRequestKey GetProductionSettingValue GetProductionSettings GetPropertyConnections
GetSettings GetShadowInstance NewIOLogEntry OnError
OnGenerateSuperSession OnGetConnections OnInit OnKeepalive
OnMonitor OnProcessInput OnProductionStart OnProductionStop
OnTearDown PopulateSuperSession QueueName SaveIOLogEntry
SendAlert SendDeferredResponse SendRequestAsync SendRequestSync

Subclasses
Ens.Activity.Service.TCPCounted Ens.Alerting.AlertMonitor Ens.BusinessDuplex
Ens.BusinessMetric Ens.Enterprise.MonitorService Ens.Enterprise.MsgBank.TCPService
Ens.ManagerService Ens.MonitorService Ens.ProductionMonitorService
Ens.ScheduleService EnsLib.AmazonSQS.Service EnsLib.Background.Service
EnsLib.EDI.EDIFACT.Service.Standard EnsLib.EDI.X12.Service.Standard EnsLib.EDI.XML.Service.Standard
EnsLib.FTP.PassthroughService EnsLib.File.PassthroughService EnsLib.Gateway.Service
EnsLib.HTTP.Service EnsLib.JMS.Service EnsLib.JMSPEX.Service
EnsLib.Kafka.Service EnsLib.MFT.Service.Passthrough EnsLib.MQSeries.PassthroughService
EnsLib.MQTT.Service.Passthrough EnsLib.PEX.BusinessService EnsLib.Printing.PrintService
EnsLib.PushNotifications.AppService EnsLib.RabbitMQ.Service EnsLib.RecordMap.Service.Base
EnsLib.RecordMap.Service.ComplexBatchStandard EnsLib.SOAP.Service EnsLib.SQL.Service.GenericService
EnsLib.TCP.Framed.PassthroughService EnsLib.TCP.PassthroughService EnsLib.TCP.StatusService
EnsLib.Testing.Service EnsLib.XML.Object.Service.Standard EnsLib.XSLT.TransformedService

Parameters

• parameter APPDATAKEY = "ProcessInputAsync";
• parameter SETTINGS = "GenerateSuperSessionID:Additional,AlertGracePeriod:Alerting";
List of properties can be set as settings in the configuration file format is a comma separated list of property names

Properties

• property %AlertStartTime as %Numeric [ InitialExpression = 0 ];
• property %OutsideCreated as %String;
IO device name if created by CreateBusinessService from a CSP TCP job
• property %PreserveSession as %Boolean [ InitialExpression = 0 ];
Put all inputs from this service into a single session
• property %ProcessInputCalled as %Boolean [ Calculated ];
Deprecated - use %WaitForNextCallInterval
• property %RequestHeader as Ens.MessageHeader;
• property %SuperSessionCreatedBeforeSession as %Boolean [ InitialExpression = 0 ];
This is used to indicate if the %SuperSession has been created from the inbound request and ought not to be cleared as part of %PreserveSession actions
• property %WaitForNextCallInterval as %Boolean [ InitialExpression = 1 ];
Used to be named %ProcessInputCalled, with inverse sense
• property AlertGracePeriod as %Numeric(MINVAL=0) [ InitialExpression = 0 ];
When AlertOnError is True, refrain from alerting if it is not from ProcessInput() and the Service succeeds again within this number of seconds
• property GenerateSuperSessionID as %Boolean [ InitialExpression = 0 ];
If this setting is enabled then generate a Super Session ID.
See method GenerateSuperSession() and user call back method OnGenerateSuperSession()in Ens.Host

Methods

• method ForceSessionId() as %Status
Pre-allocate a request header object and an ID for it to represent a fresh session even before we get around to sending our first request. When we do get around to making our first SendRequest... call it will use this pre-allocated header.
• method OnError(pStatus As %Status) as %Boolean
Override this method to provide custom error handling. Return 0 means skip standard AlertOnError behavior.
• method OnProcessInput(pInput As %RegisteredObject, Output pOutput As %RegisteredObject, ByRef pHint As %String) as %Status
Override this method to process incoming data. Do not call SendRequestSync/Async() from outside this method (e.g. in a SOAP Service or a CSP page).
• method OnTearDown() as %Status
This user callback method is called from %OnClose()
• method PopulateSuperSession() as %Status
Generate a Super Session ID if it is currently empty and setting to generate enabled.
• method SendAlert(pAlertRequest As Ens.AlertRequest) as %Status
Use this method to send an alert message
• method SendRequestAsync(pTargetDispatchName As %String, pRequest As %Library.Persistent, pDescription As %String = "") as %Status
Use this method to dispatch a business invocation asynchronously
• method SendRequestSync(pTargetDispatchName As %String, pRequest As %Library.Persistent, ByRef pResponse As %Library.Persistent, pTimeout As %Numeric = -1, pDescription As %String = "", ByRef pSendSyncHandling As %String) as %Status
Use this method to dispatch a business invocation synchronously


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