Exemplo n.º 1
0
        protected internal virtual void HintJobExecutor(JobEntity job)
        {
            JobExecutor jobExecutor = context.Impl.Context.ProcessEngineConfiguration.JobExecutor;

            if (!jobExecutor.IsActive)
            {
                return;
            }

            JobExecutorContext   jobExecutorContext  = context.Impl.Context.JobExecutorContext;
            ITransactionListener transactionListener = null;

            if (!job.Suspended && job.Exclusive && jobExecutorContext != null && jobExecutorContext.ExecutingExclusiveJob && AreInSameProcessInstance(job, jobExecutorContext.CurrentJob))
            {
                // lock job & add to the queue of the current processor
                DateTime currentTime = ClockUtil.CurrentTime;
                job.LockExpirationTime = new DateTime(currentTime.Ticks + jobExecutor.LockTimeInMillis);
                job.LockOwner          = jobExecutor.LockOwner;
                transactionListener    = new ExclusiveJobAddedNotification(job.Id, jobExecutorContext);
            }
            else
            {
                // notify job executor:
                transactionListener = new MessageAddedNotification(jobExecutor);
            }
            context.Impl.Context.CommandContext.TransactionContext.AddTransactionListener(TransactionJavaStatus.Committed, transactionListener);
        }
 private async Task CreateMessagePayloadAndSend(string conversationId, Message message)
 {
     var notification    = new MessageAddedNotification(conversationId, message.UtcTime);
     var participants    = Conversation.ParseId(conversationId);
     var notificationDto = new NotificationDto(participants, JsonConvert.SerializeObject(notification));
     await notificationService.SendNotification(notificationDto);
 }
Exemplo n.º 3
0
        protected internal virtual void NotifyAcquisition(CommandContext commandContext)
        {
            var jobExecutor = context.Impl.Context.ProcessEngineConfiguration.JobExecutor;
            var messageAddedNotification = new MessageAddedNotification(jobExecutor);
            var transactionContext       = commandContext.TransactionContext;

            transactionContext.AddTransactionListener(TransactionJavaStatus.Committed, messageAddedNotification);
        }
Exemplo n.º 4
0
        protected internal virtual void notifyAcquisition(CommandContext commandContext)
        {
            JobExecutor jobExecutor = Context.ProcessEngineConfiguration.JobExecutor;
            MessageAddedNotification messageAddedNotification = new MessageAddedNotification(jobExecutor);
            TransactionContext       transactionContext       = commandContext.TransactionContext;

            transactionContext.addTransactionListener(TransactionState.COMMITTED, messageAddedNotification);
        }