/** * Invoke the scheduled consumer via its triggerSchedulerNow method * <p> * This method executes the underlying Job asynchronously */ public void fireScheduledConsumer() { ScheduledConsumer consumer = (ScheduledConsumer) getComponent(scheduledConsumerName); try { JobDetail jobDetail = ((ScheduledComponent<JobDetail>)consumer).getJobDetail(); Trigger trigger = newTrigger().withIdentity("name", "group").forJob(jobDetail).build(); consumer.scheduleAsEagerTrigger(trigger, 0); } catch (SchedulerException se) { throw new RuntimeException(se); } }
/** * Invoke the scheduled consumer via its triggerSchedulerNow method * <p> * This method executes the underlying Job asynchronously */ public void fireScheduledConsumer() { ScheduledConsumer consumer = (ScheduledConsumer) getComponent(scheduledConsumerName); try { JobDetail jobDetail = ((ScheduledComponent<JobDetail>)consumer).getJobDetail(); Trigger trigger = newTrigger().withIdentity("name", "group").forJob(jobDetail).build(); consumer.scheduleAsEagerTrigger(trigger, 0); } catch (SchedulerException se) { throw new RuntimeException(se); } }
/** * Logic to determine how to manage the eager trigger schedule. * @param trigger * @throws SchedulerException */ protected void invokeEagerSchedule(Trigger trigger) throws SchedulerException { Integer eagerCallbacks = (Integer)trigger.getJobDataMap().get(EAGER_CALLBACK_COUNT); if(eagerCallbacks == null) { eagerCallbacks = new Integer(0); } // if data available and maxEagerCallbacks is not set or less than max if ((consumerConfiguration.getMaxEagerCallbacks() == 0 || eagerCallbacks < consumerConfiguration.getMaxEagerCallbacks()) ) { // schedule the eager trigger scheduleAsEagerTrigger(trigger, ++eagerCallbacks); } else { scheduleAsBusinessTrigger(trigger); } }