Hi Hiranya, We managed to fix the bam2 build with minimum requirements.
Realize that we need: - task server feature - synapse feature - mediation initializer feature to be able to run tasks. I believe it should come down to, - task server feature - synapse tasks feature On Sun, Oct 2, 2011 at 10:09 AM, Hiranya Jayathilaka <hira...@wso2.com>wrote: > > > On Sat, Oct 1, 2011 at 11:53 PM, Tharindu Mathew <thari...@wso2.com>wrote: > >> From what I've seen, everyone uses their own job implementation. Ex: BAM >> uses AnalyzerJob.class >> >> The pain points maybe coming from re-using scheduled tasks. It does not >> seem to work in an OSGI environment, without having Synapse. Because we do >> not directly use synapse tasks, we re-use scheduled-tasks. >> >> I feel defining the carbon-tasks feature alone, will fix the problem. >> According to your explanation, Carbon tasks may have a dependency to >> synapse-core, so that it can use SimpleQuartzJob. >> > > Ok makes sense. So may be the culprit is the scheduled tasks component. It > may be tightly coupled with rest of Synapse/ESB. Will look into that. > > Thanks, > Hiranya > > >> >> >> On Sat, Oct 1, 2011 at 11:41 PM, Hiranya Jayathilaka <hira...@wso2.com>wrote: >> >>> I just tried to develop a little Java program using the Synapse tasks >>> module (just a learning exercise to see where the pain points are). However >>> I was able to do it without much of a hassle and without adding any Synapse >>> libraries except for the synapse-tasks.jar. Here's my code in the main >>> method: >>> >>> TaskScheduler scheduler = new TaskScheduler("scheduler1"); >>> scheduler.init(new Properties()); >>> scheduler.start(); >>> TaskDescription desc = new TaskDescription(); >>> desc.setName("task1"); >>> desc.setInterval(2000); >>> scheduler.scheduleTask(desc, new HashMap<String,Object>(), * >>> TestJob.class*, *new MyTask()*); >>> >>> Here TestJob is an implementation of the Quartz Job interface. MyTask is >>> an implementation of the Task interface from Synapse. All other Task* >>> classes are from Synapse tasks module. Libraries in my classpath are: >>> >>> - synapse-tasks >>> - quartz >>> - commons-logging >>> - geronimo-jta (Quartz dependency) >>> - commons-collections (Quartz dependency) >>> >>> So it's not that bad after all. I think the trick here is I'm using my >>> own Job implementation. The default implementation that comes with Synapse >>> (SimpleQuartzJob) is in the synapse-core module and if you try to use that >>> you will have to add a whole bunch of other Synapse related stuff. I don't >>> think anything other than Synapse are supposed to use it since it clearly >>> has some Synapse specific stuff in there. We use that as the bridge between >>> Synapse and Quartz. >>> >>> I think any component trying to use the Synapse tasks component should >>> simply write their own Job implementation and use the framework provided by >>> Synapse tasks component to run it. You can put any component specific logic >>> in the Job impl. Here's my Job implementation BTW (used in above example): >>> >>> public void execute(JobExecutionContext ctx) throws JobExecutionException >>> { >>> Task task = (Task) >>> ctx.getMergedJobDataMap().get(TaskDescription.INSTANCE); >>> task.execute(); >>> } >>> >>> What are the other issues faced while trying to use the Synapse tasks >>> component? >>> >>> Thanks, >>> Hiranya >>> >>> On Sat, Oct 1, 2011 at 10:47 PM, Tharindu Mathew <thari...@wso2.com>wrote: >>> >>>> >>>> >>>> On Sat, Oct 1, 2011 at 10:17 PM, Hiranya Jayathilaka >>>> <hira...@wso2.com>wrote: >>>> >>>>> >>>>> >>>>> On Sat, Oct 1, 2011 at 7:38 PM, Anjana Fernando <anj...@wso2.com>wrote: >>>>> >>>>>> Hiranya agreed to refactor the Synapse tasks component to have a >>>>>> simpler API, which will make it more easier to use. >>>>> >>>>> >>>>> Yes will get started on this asap. >>>>> >>>>> Great! >>>> >>>>> Thanks, >>>>> Hiranya >>>>> >>>>> >>>>>> I'm also looking into creating a "coordination" component, by using >>>>>> Apache ZooKeeper, to do the coordination scenarios in a cluster, which >>>>>> are >>>>>> required in situations like scheduling a task. >>>>>> >>>>>> These efforts can be parellel, i.e. making it self contained will >>>> actually help after the task tracker component as well, otherwise you will >>>> have to inclue all of synapse as well, just to get task dependencies. >>>> >>>>> Cheers, >>>>>> Anjana. >>>>>> >>>>>> >>>>>> On Sat, Oct 1, 2011 at 1:27 PM, Tharindu Mathew <thari...@wso2.com>wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Sat, Oct 1, 2011 at 1:18 PM, Samisa Abeysinghe >>>>>>> <sam...@wso2.com>wrote: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Sat, Oct 1, 2011 at 1:03 PM, Tharindu Mathew >>>>>>>> <thari...@wso2.com>wrote: >>>>>>>> >>>>>>>>> Hi ESB folks, >>>>>>>>> >>>>>>>>> Right now, if we just import the carbon.task.server feature, the >>>>>>>>> tasks do not start up during run time due to unsatisfied dependencies. >>>>>>>>> >>>>>>>>> So, we have to import whole of synapse as well just to make tasks >>>>>>>>> work. So, can we do $subject urgently? >>>>>>>>> >>>>>>>> >>>>>>>> This I thought was done by the new Carbon task component in the >>>>>>>> making. What is the ETA for that? >>>>>>>> >>>>>>>> AFAIU, the new tasks component, still would have the same problem >>>>>>> since it will use synapse tasks. If we can make synapse tasks and >>>>>>> scheduled-tasks (carbon tasks) self contained, the problem would be >>>>>>> solved. >>>>>>> >>>>>>> IIRC, the ETA for the new component is the next major release. >>>>>>> >>>>>>>> Thanks, >>>>>>>> Samisa... >>>>>>>> >>>>>>>> Samisa Abeysinghe >>>>>>>> VP Engineering >>>>>>>> WSO2 Inc. >>>>>>>> http://wso2.com >>>>>>>> http://wso2.org >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Carbon-dev mailing list >>>>>>>> Carbon-dev@wso2.org >>>>>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Regards, >>>>>>> >>>>>>> Tharindu >>>>>>> >>>>>>> blog: http://mackiemathew.com/ >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Anjana Fernando* >>>>>> Senior Software Engineer >>>>>> WSO2 Inc. | http://wso2.com >>>>>> lean . enterprise . middleware >>>>>> >>>>>> _______________________________________________ >>>>>> Carbon-dev mailing list >>>>>> Carbon-dev@wso2.org >>>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> 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 >>>>> >>>> >>>> >>>> >>>> -- >>>> Regards, >>>> >>>> Tharindu >>>> >>>> blog: http://mackiemathew.com/ >>>> >>>> >>> >>> >>> -- >>> 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 >>> >> >> >> >> -- >> Regards, >> >> Tharindu >> >> blog: http://mackiemathew.com/ >> >> > > > -- > 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 > -- Regards, Tharindu blog: http://mackiemathew.com/
_______________________________________________ Carbon-dev mailing list Carbon-dev@wso2.org http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev