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

Reply via email to