1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| GenericXmlApplicationContext ctx = new GenericXmlApplicationContext(getClass().getResource("/contexts/spring-quartz-test.xml").toURI().toString());
Assert.assertNotNull(ctx.getBean("scheduler"));
Scheduler sc = (Scheduler) ctx.getBean("scheduler");
Assert.assertNotNull(sc.getJobDetail("testName", "testGroup"));
// créer un jobdetail à la main
JobDetail jb = new JobDetail("test","test",TheJob.class);
jb.getJobDataMap().put("jobBean", "iocJob");
sc.addJob(jb, true);
// on altere la source, simuler la vie d'un programme
TheSource datas = (TheSource) ctx.getBean("JobSource");
datas.setSourceBoolean(true);
datas.setSourceString("1234567violette");
TheResult result = (TheResult) ctx.getBean("JobResult");
Thread.sleep(500);
// on exécute le job
sc.triggerJobWithVolatileTrigger("test","test");
Thread.sleep(500);
// il a bien lu les données et les as transférées?
Assert.assertEquals(result.resultBoolean,datas.getSourceBoolean());
Assert.assertEquals(result.resultString,datas.getSourceString());
//idem avec le jobdetail configuré dans le xml
datas.setSourceBoolean(false);
datas.setSourceString("Halloween!!");
result.resultString=null;
result.resultBoolean=null;
Assert.assertNotSame(result.resultBoolean,datas.getSourceBoolean());
Assert.assertNotSame(result.resultString,datas.getSourceString());
sc.triggerJobWithVolatileTrigger("testName","testGroup");
Thread.sleep(500);
Assert.assertEquals(result.resultBoolean,datas.getSourceBoolean());
Assert.assertEquals(result.resultString,datas.getSourceString()); |
Partager