Sent from my iPhone
On Jan 13, 2012, at 11:52 PM, Dinusha Dilrukshi <[email protected]> wrote: > Hi, > > I have created a patch with required modifications and attached to the JIRA > [1]. Appreciate if it can be applied to synapse trunk. > [1]. https://issues.apache.org/jira/browse/SYNAPSE-837 > > Regards, > ~Dinusha~ > > > > On Thu, Jan 12, 2012 at 10:26 PM, Dinusha Dilrukshi <[email protected]> > wrote: > Hi Hiranya, > > Please find the JIRA created to track this in link[1]. And also note that, > other than the synapse-task, synapse-massage-processors code also need to > change according to the quartz2. I ll make necessary changes to that as well. > > As a summarization of major API changes, > > 1. DSLs for working with jobs and triggers and builder-based API for > construction Jobs and Triggers. Set of new classes has been introduced to > handle Jobs and Triggers : TriggerBuilder, JobBuilder, SimpleScheduleBuilder, > CronScheduleBuilder, CalendarIntervalSchedulerBuilder, DateBuilder. This will > simplify current code and make it more clear, readable, and maintainable. > For example, > Old code: > SimpleTrigger trg = new SimpleTrigger("myTrigger", null); > trg.setStartTime(new Date(System.currentTimeMillis() + 10000L)); > trg.setPriority(6); > trg.setJobName("myJob"); > trg.setJobGroup("myGroup"); > trg.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY); > trg.setRepeatInterval(30000L); > New code: > Trigger trg = newTrigger() > .withIdentity("myTrigger") > .startAt(futureDate(10, IntervalUnit.SECONDS)) > .withPriority(6) > .forJob(job) > .withSchedule(simpleSchedule() > .withIntervalInSeconds(30) > .repeatForever()) > .build(); > > 2. Job and Trigger identification is now based on JobKey and TriggerKey. Keys > include both name and group. So all the methods which operate on particular > jobs/triggers now take keys as the parameter. > For examples, > - getTrigger(TriggerKey key): Trigger, rather than > getTrigger(String name, String group): Trigger. > - deleteJob(JobKey jobKey): boolean, rather than > deleteJob(String name, String group): boolean. > > 3. Introduce of Interfaces instead of classes, > For example, > - Trigger is now an interface, rather than a class. Likewise > for SimpleTrigger, CronTrigger, etc. > - JobDetail is now an interface. > > 4. Collections and generics-- getJobGroupNames(): List<String>, no more use > of arrays to get groups of job details, triggers, other clumps of data from > the scheduler > > Further details about API changes can be found in discussion link [2] and > link [3]. > > [1]. https://issues.apache.org/jira/browse/SYNAPSE-837 > [2]. http://forums.terracotta.org/forums/posts/list/0/6480.page#32884 > [3]. > http://quartz-scheduler.org/documentation/quartz-2.x/new-in-quartz-2#api-changes > > Regards, > ~Dinusha~ > > > > > On Wed, Jan 11, 2012 at 9:24 PM, Hiranya Jayathilaka <[email protected]> > wrote: > Hi Dinusha, > > On Wed, Jan 11, 2012 at 6:24 PM, Dinusha Dilrukshi <[email protected]> > wrote: > Hi, > > Current synapse-task implementation has used quartz 1.6.0 version which is > something old. The quartz latest stable version 2.1.1 seem to have many > functional improvements and new features over 1.6.0 version. So it will be a > good idea to upgrade quartz version to 2.1.1 to have future enhancements in > synapse-task. > > Refer to the document what's new in quartz2 [1] > [1] http://quartz-scheduler.org/documentation/quartz-2.x/new-in-quartz-2 > > I would happy to provide a patch for this. > > Sounds great. Please do provide a patch through the JIRA. BTW can you please > summarize what are the major API changes between the 2 versions of Quartz? > > Thanks, > Hiranya > > > ~Dinusha~ > > > > > -- > Hiranya Jayathilaka > Associate Technical Lead; > WSO2 Inc.; http://wso2.org > E-mail: [email protected]; Mobile: +94 77 633 3491 > Blog: http://techfeast-hiranya.blogspot.com > >
