Interface IDerivedDataEngine


  • public interface IDerivedDataEngine
    Derived data engine contains and controls all shared infrastructure of the derived data facility. It's assumed that the single EDT instance should work with a single instance The engine requires external management of its lifecycle after creation using start() and stop() methods
    • Method Detail

      • createProvider

        IDerivedDataBmProvider createProvider​(String projectId,
                                              IBmModel bmModel,
                                              Collection<IDerivedDataConfigurationContributor> contributors,
                                              Set<String> filteredSegments,
                                              IDerivedDataServiceLockController lockController,
                                              IDerivedDataOrchestrator orchestrator)
        Creates a provider
        Parameters:
        projectId - The unique identifier of the owner project. Cannot be null
        contributors - The set of derived data contributors. Cannot be null. Can be empty
        filteredSegments - The set of segment ids that should be ommitted during the computation. Cannot be null. Can be empty
        lockController - The DD external lock controller. Cannot be null
        orchestrator - The DD activity orchestrator. Cannot be null
        Returns:
        The created DD provider. Cannot be null
      • setPermittedThreads

        void setPermittedThreads​(int permittedThreads)
        Sets the maximum number of computation threads the DD subsystem should use at the moment. It's up to client to control reduction/increasing the number of used threads, the DD subsystem itself won't adjust the maximum number of used threads (though could use less then maximum in any given moment)
        Parameters:
        permittedThreads - The number of permitted threads. Must be a positive number
      • start

        void start()
        Starts the inactive engine. The single engine instance mustn't be started more then once. The engine should be in inactive state prior the start call
      • stop

        void stop()
        Stops the active engine. The single engine instance mustn't be stopped more then once. The engine should be in active state prior the stop call