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
<sdddilruk...@gmail.com>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 <hiranya...@gmail.com
> > wrote:
>
>> Hi Dinusha,
>>
>> On Wed, Jan 11, 2012 at 6:24 PM, Dinusha Dilrukshi <
>> sdddilruk...@gmail.com> 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
>>>
>>> <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: hira...@wso2.com;  Mobile: +94 77 633 3491
>> Blog: http://techfeast-hiranya.blogspot.com
>>
>
>

Reply via email to