abstract class EnsLib.RecordMap.Service.ComplexBatchStandard
extends Ens.BusinessService
Base class for Business Services which process streams containing ComplexBatch data.
This is a Business Service class.
parameter SETTINGS = "ComplexMap:Basic:selector?context={/Classes?super=EnsLib.RecordMap.ComplexMap&hideAbstract=1},TargetConfigNames:Basic:selector?multiSelect=1&context={Ens.ContextSearch/ProductionItems?targets=1&productionName=@productionId},SynchronousSend";
List of properties can be set as settings in the configuration file
format is a comma separated list of property names
property ComplexMap
as %String(MAXLEN=220) [ Required ];
Name of the Complex RecordMap to use for processing the incoming data.
property SynchronousSend
as %Boolean [ InitialExpression = 0 ];
Control whether requests should be sent synchronously or asynchronously to the items
listed in TargetConfigNames. The default is false.
property TargetConfigNames
as %String(MAXLEN="");
A comma-separated list of Configuration Items which should receive the parsed objects.
method GetBatch(pStream As %IO.DeviceStream, Output pBatch As EnsLib.RecordMap.ComplexBatch, pTimeout As %Numeric = -1, ByRef pLookAhead As %String = "")
as %Status
Wrap the GetBatch() method in the ComplexMap class.
method OnBatchComplete(pBatch As EnsLib.RecordMap.ComplexBatch)
as %Status
Callback which is invoked immediately after successful parsing of a batch. Users may
wish to override this method to allow for extra validation and or initial processing.
Note that this callback is invoked before the Batch is first saved to disk.
classmethod OnGetConnections(Output pArray As %String, pItem As Ens.Config.Item)
Add connections from TargetConfigNames
method OnInit()
as %Status
Ensure that the ComplexMap and the target class exist and are based on the RecordMap framework.
method SendRequest(pRequest As %Persistent, pAsync As %Boolean = 1, Output pResponses As %ListOfObjects)
as %Status
Send the generated object to the requested targets.