Exemplo n.º 1
0
        // Transaction Dependent execution listener
        public virtual void Notify(string processInstanceId, string executionId, FlowElement flowElement, IDictionary <string, object> executionVariables, IDictionary <string, object> customPropertiesMap)
        {
            if (transactionDependentExecutionListenerInstance == null)
            {
                transactionDependentExecutionListenerInstance = TransactionDependentExecutionListenerInstance;
            }

            // Note that we can't wrap it in the delegate interceptor like usual here due to being executed when the context is already removed.
            transactionDependentExecutionListenerInstance.Notify(processInstanceId, executionId, flowElement, executionVariables, customPropertiesMap);
        }
Exemplo n.º 2
0
        protected internal virtual void PlanTransactionDependentExecutionListener(IListenerFactory listenerFactory, IExecutionEntity execution, ITransactionDependentExecutionListener executionListener, ActivitiListener activitiListener)
        {
            IDictionary <string, object> executionVariablesToUse  = execution.Variables;
            ICustomPropertiesResolver    customPropertiesResolver = CreateCustomPropertiesResolver(activitiListener);
            IDictionary <string, object> customPropertiesMapToUse = InvokeCustomPropertiesResolver(execution, customPropertiesResolver);

            TransactionDependentExecutionListenerExecutionScope scope = new TransactionDependentExecutionListenerExecutionScope(execution.ProcessInstanceId, execution.Id, execution.CurrentFlowElement, executionVariablesToUse, customPropertiesMapToUse);

            AddTransactionListener(activitiListener, new ExecuteExecutionListenerTransactionListener(executionListener, scope));
        }
Exemplo n.º 3
0
 public ExecuteExecutionListenerTransactionListener(ITransactionDependentExecutionListener listener, TransactionDependentExecutionListenerExecutionScope scope)
 {
     this.listener = listener;
     this.scope    = scope;
 }