Hiranya ...Thanks Lots .. Thanks Indika
On Sun, Sep 13, 2009 at 4:08 PM, Hiranya Jayathilaka <[email protected]> wrote: > Hi Indika, > > On Sun, Sep 13, 2009 at 11:56 AM, indika kumara <[email protected]> > wrote: >> >> Thanks Hiranya for point out this error… Those are my faults >> >> TaskSchedulerFactory is the initially written code to get / create a >> TaskScheduler >> >> SynapseConstants.SYNAPSE_STARTUP_TASK_SCHEDULER is also old constant >> prior to move code into a new task module. After that it should uses >> TaskConstants.TASK_SCHEDULER. >> >> Unforunaly …seems, I have forgotten to remove it... >> >> TaskScheduler taskScheduler = TaskSchedulerFactory.getTaskScheduler( >> SynapseConstants.SYNAPSE_STARTUP_TASK_SCHEDULER); >> >> This is also the old code prior to add TaskHelper... seems I have >> forgotten to remove this too... >> >> Really TaskHelper should rename to Task Component Manager or something >> >> And within method TaskHelper.init … I didn’t initialize actual >> TaskScheduler to make it late until first task is run. >> >> Fix … >> >> Anything, begin with SynapseConstants.* should be removed only uses >> constant in Task module >> >> Rename TaskHelper to Task Component Manager to something >> >> Then uses that class to init task component and get resources inside >> task component. (i.e. task scheduler and task description repository) >> … simply consider TaskSchedulerFactory as a internal class and >> TaskHelper as the public class >> >> Hiranya … I haven’t any time these day to fix and test ..and it is >> great if you can do this …and in a proper way. > > Thanks for the detailed explanation. I will make sure that these issues get > fixed before the 1.3 release. > Thanks, > Hiranya > >> >> Thanks >> Indika >> >> On Fri, Sep 11, 2009 at 5:08 PM, Hiranya Jayathilaka >> <[email protected]> wrote: >> > FYI this is how we initialize the TaskHelper. >> > >> > taskHelper.init( >> > >> > TaskDescriptionRepositoryFactory.getTaskDescriptionRepository( >> > >> > TaskConstants.TASK_DESCRIPTION_REPOSITORY), >> > >> > TaskSchedulerFactory.getTaskScheduler(TaskConstants.TASK_SCHEDULER)); >> > >> > Note that we use one task scheduler to initialize the helper and use a >> > different one when initializing SimpleQuartz instances. >> > >> > Thanks, >> > Hiranya >> > >> > On Fri, Sep 11, 2009 at 4:29 PM, Hiranya Jayathilaka >> > <[email protected]> >> > wrote: >> >> >> >> Hi Devs, >> >> >> >> I ran into some buggy looking code related to tasks. When a new task is >> >> created the SimpleQuartz#init method is called. There we get a task >> >> scheduler instance using the following piece of code. >> >> >> >> TaskScheduler taskScheduler = TaskSchedulerFactory.getTaskScheduler( >> >> >> >> SynapseConstants.SYNAPSE_STARTUP_TASK_SCHEDULER); >> >> >> >> Then when a task is stopped/removed SimpleQuartz#destroy method is >> >> called. >> >> There we try to get the task scheduler using the following line of >> >> code. >> >> >> >> TaskScheduler taskScheduler = taskHelper.getTaskScheduler(); >> >> >> >> The task schedulers returned at the two occasions are in fact different >> >> (confirmed by debugging). Therefore when a task is removed from the >> >> system >> >> at runtime, things are not cleaned up properly and the task will >> >> continue to >> >> run in the background. Also the task scheduler instance set to the task >> >> helper is never initialized. That is another problem I encountered. >> >> >> >> I feel that these are actually bugs. Can somebody who's more familiar >> >> with >> >> the Synapse tasks module shed some light on the subject? If somebody >> >> can >> >> confirm I can start working on fixing them. >> >> >> >> Thanks >> >> -- >> >> Hiranya Jayathilaka >> >> Software Engineer; >> >> WSO2 Inc.; http://wso2.org >> >> E-mail: [email protected]; Mobile: +94 77 633 3491 >> >> Blog: http://techfeast-hiranya.blogspot.com >> > >> > >> > >> > -- >> > Hiranya Jayathilaka >> > Software Engineer; >> > WSO2 Inc.; http://wso2.org >> > E-mail: [email protected]; Mobile: +94 77 633 3491 >> > Blog: http://techfeast-hiranya.blogspot.com >> > >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> > > > > -- > Hiranya Jayathilaka > Software Engineer; > WSO2 Inc.; http://wso2.org > E-mail: [email protected]; Mobile: +94 77 633 3491 > Blog: http://techfeast-hiranya.blogspot.com > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
