Class DbProcessExecutorPlugin

  • All Implemented Interfaces:
    io.vertigo.core.node.component.Activeable, io.vertigo.core.node.component.CoreComponent, io.vertigo.core.node.component.Plugin, io.vertigo.core.node.definition.DefinitionProvider, io.vertigo.core.node.definition.SimpleDefinitionProvider, ProcessExecutorPlugin, ProcessExecutor

    public final class DbProcessExecutorPlugin
    extends Object
    implements ProcessExecutorPlugin, io.vertigo.core.node.component.Activeable, io.vertigo.core.node.definition.SimpleDefinitionProvider
    Executeur des processus orchestra sous la forme d'une séquence linéaire d'activités.
    Version:
    $Id$
    Author:
    mlaroche.
    • Constructor Detail

      • DbProcessExecutorPlugin

        @Inject
        public DbProcessExecutorPlugin​(ONodeManager nodeManager,
                                       VTransactionManager transactionManager,
                                       String nodeName,
                                       Optional<Integer> workersCountOpt,
                                       Optional<Integer> executionPeriodSecondsOpt)
        Constructeur.
        Parameters:
        nodeManager - le gestionnaire de noeud
        transactionManager - le gestionnaire de transaction
        workersCountOpt - le nombre de worker du noeud (10 by default)
        executionPeriodSecondsOpt - le timer du long-polling (30 seconds by default)
    • Method Detail

      • provideDefinitions

        public List<? extends io.vertigo.core.node.definition.Definition> provideDefinitions​(io.vertigo.core.node.definition.DefinitionSpace definitionSpace)
        Specified by:
        provideDefinitions in interface io.vertigo.core.node.definition.SimpleDefinitionProvider
      • start

        public void start()
        Specified by:
        start in interface io.vertigo.core.node.component.Activeable
      • stop

        public void stop()
        Specified by:
        stop in interface io.vertigo.core.node.component.Activeable
      • execute

        public void execute​(ProcessDefinition processDefinition,
                            Optional<String> initialParams)
        Execute un processus.
        Specified by:
        execute in interface ProcessExecutor
        Parameters:
        processDefinition - le processus à lancer
        initialParams - paramètres initiaux supplémentaires
      • endPendingActivityExecution

        public void endPendingActivityExecution​(Long activityExecutionId,
                                                String token,
                                                ExecutionState executionState,
                                                Optional<String> errorMessageOpt)
        Termine une execution mise en attente.
        Specified by:
        endPendingActivityExecution in interface ProcessExecutor
        Parameters:
        activityExecutionId - L'id de l'execution à terminer
        token - Le ticket associé permettant de s'assurer que n'importe qui ne termine pas une activity (seulement un callback)
        executionState - L'état futur de l'activité
      • setActivityExecutionPending

        public void setActivityExecutionPending​(Long activityExecutionId,
                                                ActivityExecutionWorkspace workspace)
        Mets une execution en attente.
        Specified by:
        setActivityExecutionPending in interface ProcessExecutor
        Parameters:
        activityExecutionId - L'id de l'execution à mettre en attente
        workspace - Le workspace avant la mise en attente