use of org.springframework.scheduling.support.PeriodicTrigger in project webofneeds by researchstudio-sat.
the class BotTrigger method reschedule.
private synchronized void reschedule() {
if (cancelableTask != null) {
cancelableTask.cancel(true);
}
// make the trigger
PeriodicTrigger myTrigger = new PeriodicTrigger(getInterval().toMillis());
myTrigger.setInitialDelay(getInterval().toMillis());
// schedule a task that publishes the BotTriggerEvent
BotTrigger.this.cancelableTask = context.getTaskScheduler().schedule(new Runnable() {
@Override
public void run() {
BotTrigger.this.context.getEventBus().publish(new BotTriggerEvent(BotTrigger.this));
}
}, myTrigger);
}
use of org.springframework.scheduling.support.PeriodicTrigger in project webofneeds by researchstudio-sat.
the class BAAtomicCCActiveNotCompletingBotTest method before.
@Before
public void before() {
if (!run) {
// create a bot instance and auto-wire it
AutowireCapableBeanFactory beanFactory = applicationContext.getAutowireCapableBeanFactory();
bot = (MyBot) beanFactory.autowire(MyBot.class, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, false);
Object botBean = beanFactory.initializeBean(bot, "mybot");
bot = (MyBot) botBean;
// the bot also needs a trigger so its act() method is called regularly.
// (there is no trigger bean in the context)
PeriodicTrigger trigger = new PeriodicTrigger(ACT_LOOP_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
trigger.setInitialDelay(ACT_LOOP_INITIAL_DELAY_MILLIS);
bot.setTrigger(trigger);
logger.info("starting test case testBAAtomicCCActiveNotCompletingBot");
// adding the bot to the bot manager will cause it to be initialized.
// at that point, the trigger starts.
botManager.setShutdownApplicationContextIfWorkDone(false);
botManager.addBot(bot);
staticBotManager = botManager;
// and both threads continue.
try {
bot.getBarrier().await();
} catch (InterruptedException e) {
// To change body of catch statement use File | Settings | File Templates.
e.printStackTrace();
} catch (BrokenBarrierException e) {
// To change body of catch statement use File | Settings | File Templates.
e.printStackTrace();
}
run = true;
}
}
use of org.springframework.scheduling.support.PeriodicTrigger in project webofneeds by researchstudio-sat.
the class BAAtomicCCAdditionalParticipantsBotTest method before.
/**
* This is run before each @TestD method.
*/
@Before
public void before() {
// create a bot instance and auto-wire it
// create a bot instance and auto-wire it
AutowireCapableBeanFactory beanFactory = applicationContext.getAutowireCapableBeanFactory();
this.bot = (MyBot) beanFactory.autowire(MyBot.class, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, false);
Object botBean = beanFactory.initializeBean(this.bot, "mybot");
this.bot = (MyBot) botBean;
// the bot also needs a trigger so its act() method is called regularly.
// (there is no trigger bean in the context)
PeriodicTrigger trigger = new PeriodicTrigger(ACT_LOOP_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
trigger.setInitialDelay(ACT_LOOP_INITIAL_DELAY_MILLIS);
this.bot.setTrigger(trigger);
}
use of org.springframework.scheduling.support.PeriodicTrigger in project webofneeds by researchstudio-sat.
the class BAAtomicCCBotTest method before.
@Before
public void before() {
if (!run) {
// create a bot instance and auto-wire it
AutowireCapableBeanFactory beanFactory = applicationContext.getAutowireCapableBeanFactory();
bot = (MyBot) beanFactory.autowire(MyBot.class, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, false);
Object botBean = beanFactory.initializeBean(bot, "mybot");
bot = (MyBot) botBean;
// the bot also needs a trigger so its act() method is called regularly.
// (there is no trigger bean in the context)
PeriodicTrigger trigger = new PeriodicTrigger(ACT_LOOP_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
trigger.setInitialDelay(ACT_LOOP_INITIAL_DELAY_MILLIS);
bot.setTrigger(trigger);
logger.info("starting test case testBAAtomicCCBot");
// adding the bot to the bot manager will cause it to be initialized.
// at that point, the trigger starts.
botManager.addBot(bot);
// and both threads continue.
try {
bot.getBarrier().await();
} catch (InterruptedException e) {
// To change body of catch statement use File | Settings | File Templates.
e.printStackTrace();
} catch (BrokenBarrierException e) {
// To change body of catch statement use File | Settings | File Templates.
e.printStackTrace();
}
run = true;
}
}
use of org.springframework.scheduling.support.PeriodicTrigger in project webofneeds by researchstudio-sat.
the class BAAtomicCCCompletingFailingBotTest method before.
@Before
public void before() {
if (!run) {
// create a bot instance and auto-wire it
AutowireCapableBeanFactory beanFactory = applicationContext.getAutowireCapableBeanFactory();
bot = (MyBot) beanFactory.autowire(MyBot.class, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, false);
Object botBean = beanFactory.initializeBean(bot, "mybot");
bot = (MyBot) botBean;
// the bot also needs a trigger so its act() method is called regularly.
// (there is no trigger bean in the context)
PeriodicTrigger trigger = new PeriodicTrigger(ACT_LOOP_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
trigger.setInitialDelay(ACT_LOOP_INITIAL_DELAY_MILLIS);
bot.setTrigger(trigger);
logger.info("starting test case testBAAtomicCCCompletingFailingBot");
// adding the bot to the bot manager will cause it to be initialized.
// at that point, the trigger starts.
botManager.setShutdownApplicationContextIfWorkDone(false);
botManager.addBot(bot);
staticBotManager = botManager;
// and both threads continue.
try {
bot.getBarrier().await();
} catch (InterruptedException e) {
// To change body of catch statement use File | Settings | File Templates.
e.printStackTrace();
} catch (BrokenBarrierException e) {
// To change body of catch statement use File | Settings | File Templates.
e.printStackTrace();
}
run = true;
}
}
Aggregations