Class AggregationDateRetentionService


  • public class AggregationDateRetentionService
    extends sailpoint.server.Service
    A service to retain the last aggregation timestamps and other cache data for Applications in a Custom object called “Aggregation Date Storage”.

    Since this data is stored in the Application XML itself, it is often inadvertently overwritten on deployment with an earlier version, or with null data. This will cause delta tasks to run long or fail entirely. With this service installed, the Application’s dates will be restored as soon as possible after deployment.

    The data will be copied as follows:

    • If there is no data on the Application, but data exists in the Custom object, the values on the Application will be replaced by the values in the Custom.

    • If there is no cache for the given Application in the Custom object, the values in the Custom will always be set to the Application’s values.

    • If the Application’s acctAggregationEnd timestamp is newer than the values in the Custom object, the Application’s values will be copied to the Custom.

    • If the Custom’s acctAggregationEnd timestamp is newer than the value in the Application object, the Application’s values will be replaced by the value in the Custom.

    The following attributes are retained in the Custom for each Application:

    • acctAggregationEnd
    • acctAggregationStart
    • deltaAggregation
    • lastAggregationDate

    Three of the four are millisecond timestamps, while deltaAggregation often contains metadata, like cookies from Azure.

    • Method Detail

      • execute

        public void execute​(sailpoint.api.SailPointContext context)
                     throws sailpoint.tools.GeneralException
        Main entry point for the service.

        This method is called by the Service. It will determine if this host is the one that should run the service, and if so, will call the implementation method.

        Overrides:
        execute in class sailpoint.server.Service
        Parameters:
        context - SailPoint context
        Throws:
        sailpoint.tools.GeneralException - if any failures occur