Class ActionTrackingServiceImpl

  • All Implemented Interfaces:
    ActionTrackingService

    public class ActionTrackingServiceImpl
    extends java.lang.Object
    implements ActionTrackingService
    Action execution tracking service implementation
    Author:
    Nick Burch
    • Constructor Detail

      • ActionTrackingServiceImpl

        public ActionTrackingServiceImpl()
    • Method Detail

      • setTransactionService

        public void setTransactionService​(TransactionService transactionService)
        Set the transaction service
        Parameters:
        transactionService - the transaction service
      • setNodeService

        public void setNodeService​(org.alfresco.service.cmr.repository.NodeService nodeService)
        Set the node service
        Parameters:
        nodeService - the node service
      • setRuntimeActionService

        public void setRuntimeActionService​(RuntimeActionService runtimeActionService)
        Set the runtime action service
        Parameters:
        runtimeActionService - the runtime action service
      • setExecutingActionsCache

        public void setExecutingActionsCache​(org.alfresco.repo.cache.SimpleCache<java.lang.String,​ExecutionDetails> executingActionsCache)
        Sets the cache used to store details of currently executing actions, cluster wide.
      • resetNextExecutionId

        protected void resetNextExecutionId()
        Used by unit tests only
      • recordActionPending

        public void recordActionPending​(Action action)
        Description copied from interface: ActionTrackingService
        Record that an action has been scheduled for asynchronous execution, and is pending being executed.
        Specified by:
        recordActionPending in interface ActionTrackingService
        Parameters:
        action - the action that has been scheduled
      • recordActionPending

        public void recordActionPending​(Action action,
                                        org.alfresco.service.cmr.repository.NodeRef actionedUponNodeRef)
        Description copied from interface: ActionTrackingService
        Record that an action against a NodeRef has been scheduled for asynchronous execution, and is pending being executed.
        Specified by:
        recordActionPending in interface ActionTrackingService
        Parameters:
        action - the action that has been scheduled
        actionedUponNodeRef - the NodeRef the action is acting on
      • recordActionPending

        public void recordActionPending​(ActionImpl action)
      • recordActionPending

        public void recordActionPending​(ActionImpl action,
                                        org.alfresco.service.cmr.repository.NodeRef actionedUponNodeRef)
      • recordActionExecuting

        public void recordActionExecuting​(Action action,
                                          org.alfresco.service.cmr.repository.NodeRef actionedUponNodeRef)
        Description copied from interface: ActionTrackingService
        Record that an action has begun execution.
        Specified by:
        recordActionExecuting in interface ActionTrackingService
        Parameters:
        action - the action that has been scheduled
        actionedUponNodeRef - the NodeRef the action is acting on
      • recordActionFailure

        public void recordActionFailure​(Action action,
                                        java.lang.Throwable exception)
        Schedule the recording of the action failure to occur in another transaction
        Specified by:
        recordActionFailure in interface ActionTrackingService
        Parameters:
        action - the action that has failed
      • requestActionCancellation

        public void requestActionCancellation​(CancellableAction action)
        Description copied from interface: ActionTrackingService
        Requests that the specified Action cancel itself and aborts execution, as soon as possible. Cancellable actions periodically check to see if a cancel has been requested, and will take note of the cancel request once seen.
        Specified by:
        requestActionCancellation in interface ActionTrackingService
        Parameters:
        action - The action to request the cancel of
      • requestActionCancellation

        public void requestActionCancellation​(ExecutionSummary executionSummary)
        Description copied from interface: ActionTrackingService
        Requests that the specified Action cancel itself and aborts execution, as soon as possible. Cancellable actions periodically check to see if a cancel has been requested, and will take note of the cancel request once seen. If the specified action is not a cancellable action, nothing will happen.
        Specified by:
        requestActionCancellation in interface ActionTrackingService
        Parameters:
        executionSummary - ExecutionSummary
      • getExecutingActions

        public java.util.List<ExecutionSummary> getExecutingActions​(java.lang.String type)
        Description copied from interface: ActionTrackingService
        Retrieve summary details of all the actions of the given type that are currently executing.
        Specified by:
        getExecutingActions in interface ActionTrackingService
        Parameters:
        type - the action type
        Returns:
        the execution summaries
      • getExecutingActions

        public java.util.List<ExecutionSummary> getExecutingActions​(java.lang.String type,
                                                                    org.alfresco.service.cmr.repository.NodeRef actionedUponNodeRef)
        Description copied from interface: ActionTrackingService
        Retrieve summary details of all the actions of the given type acting on the given NodeRef that are currently executing.
        Specified by:
        getExecutingActions in interface ActionTrackingService
        Parameters:
        type - the action type
        actionedUponNodeRef - the node the action is acting on
        Returns:
        the execution summaries
      • generateCacheKey

        protected static java.lang.String generateCacheKey​(Action action)
        Generates the cache key for the specified action.
      • generateCacheKey

        protected static java.lang.String generateCacheKey​(ExecutionSummary summary)
      • buildExecutionDetails

        protected static ExecutionDetails buildExecutionDetails​(Action action)
        Builds up the details to be stored in a cache for a specific action
      • buildExecutionDetails

        protected static ExecutionDetails buildExecutionDetails​(Action action,
                                                                org.alfresco.service.cmr.repository.NodeRef actionedUponNodeRef)
        Builds up the details to be stored in a cache for a specific action
      • buildExecutionSummary

        protected static ExecutionSummary buildExecutionSummary​(java.lang.String key)
        Turns a cache key back into its constituent parts, for easier access.