code: protected void dispatchJobCanceledEvents(ExecutionEntity activityExecution) {
          if (activityExecution != null) {
              List<JobEntity> jobs = activityExecution.getJobs();
              for (JobEntity job : jobs) {
                  if (Context.getProcessEngineConfiguration().getEventDispatcher().isEnabled()) {
                      Context.getProcessEngineConfiguration().getEventDispatcher().dispatchEvent(ActivitiEventBuilder.createEntityEvent(ActivitiEventType.JOB_CANCELED,
                                                                                                                                        job));
                  }
              }
  
              List<TimerJobEntity> timerJobs = activityExecution.getTimerJobs();
              for (TimerJobEntity job : timerJobs) {
                  if (Context.getProcessEngineConfiguration().getEventDispatcher().isEnabled()) {
                      Context.getProcessEngineConfiguration().getEventDispatcher().dispatchEvent(ActivitiEventBuilder.createEntityEvent(ActivitiEventType.JOB_CANCELED,
                                                                                                                                        job));
                  }
              }
          }
      }
docs: dispatch job canceled event for job associated with given execution entity
  @param activityExecution