Hi Malaka, Noted. I added the functionality to support the polling interval less than 1000 ms in Kafka Inbound EP. I created a new method for starting task service in Kafka inbound EP for that. As you recommended I will use the common inbound task method in Kafka inbound EP.
Thanks, Kathees On Tue, May 5, 2015 at 11:08 PM, Malaka Silva <[email protected]> wrote: > Hi All, > > I have added the functionality to support polling interval less than 1 > second for inbound endpoints. > > This is implemented when user adds the inbound endpoint, it schedule a > task with NTASK. If the interval is less than 1000ms will be scheduling the > task for 1000ms. When executing such an inbound endpoint we are doing many > polling cycles as required in each task cycle. Related PR can be found in > [1] > > @Kathees - We can get the same functionality to Kafka Inbound EP. > > Further I have done some investigation to support coordination=false to > support in MT. However still did not find a proper solution for this. > > With coordination=false inbound endpoint will not schedule any task, but > run as a background thread. When starting the ESB if there is a task > scheduled tenant gets loaded automatically. Since we are not using task for > inbounds in this case tenant won't get loaded. > > As a solution I have tried to schedule several tasks (Equal to the number > of workers). This is not a solid solution. This worked when we add the task > from Manager for the first time. If we down and up workers in cluster, > It'll keep on running multiple tasks on same worker. > > Any idea on this? > > For the timing coordination=false is only supported in ST mode. > > [1] https://github.com/wso2/carbon-mediation/pull/123/files > > >> According to the offline chat I had with Anjana, we are going to load the >> tenant as required when executing the task. >> >> On Wed, Oct 1, 2014 at 12:04 PM, Anjana Fernando <[email protected]> wrote: >> >>> I hope you understood, what I told is, not what you mentioned earlier, >>> you do not have to store anything in the registry, and the ESB does not >>> have to load anything themselves. The tasks will be automatically loaded. >>> >>> Cheers, >>> Anjana. >>> >>> On Wed, Oct 1, 2014 at 12:00 PM, Malaka Silva <[email protected]> wrote: >>> >>>> Hi Anjana, >>>> >>>> Yes that is the plan. Will be implementing this at the task adapter >>>> level. >>>> >>>> Best Regards, >>>> Malaka >>>> >>>> On Wed, Oct 1, 2014 at 11:23 AM, Anjana Fernando <[email protected]> >>>> wrote: >>>> >>>>> Hi Malaka, >>>>> >>>>> Kasun sometime earlier asked me about this; And basically, from ntask, >>>>> the tasks will automatically start up when the server is started up. It >>>>> does not wait till a tenant is loaded or anything like that, it is >>>>> automatically handled by ntask. If the task itself wants some tenant >>>>> specific functionalities, the task implementation can load that. >>>>> Basically, >>>>> the ESB has an task adapter implementation, which bridges the ntask task >>>>> interface and ESB task interfaces, in the adaptor, you can write the code >>>>> to load any tenant information as needed. >>>>> >>>>> Cheers, >>>>> Anjana. >>>>> >>>>> On Wed, Oct 1, 2014 at 8:58 AM, Malaka Silva <[email protected]> wrote: >>>>> >>>>>> Hi All, >>>>>> >>>>>> At the time of inbound EP code review Azeez has identified an issue >>>>>> with ntask integration in tenant mode. >>>>>> >>>>>> The problem is when a task is schedules in tenant mode this will not >>>>>> run until the tenant is loaded. >>>>>> >>>>>> Following is the solution I'm planning to implement. >>>>>> >>>>>> When a task is scheduled it'll put a entry in the registry, under >>>>>> tenant specific structure. At the time ESB starts, we are going to load >>>>>> the >>>>>> tenant, if they have one or more tasks scheduled. >>>>>> >>>>>> Above will solve the task implementation and polling inbound EPs >>>>>> issue in tenant mode. But the issue will still exists for listening >>>>>> Inbound >>>>>> EPs. >>>>>> >>>>>> Let me know your feedback on this? >>>>>> >>>>>> Best Regards, >>>>>> Malaka >>>>>> >>>>>> On Tue, May 20, 2014 at 5:37 PM, Ishan Jayawardena <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> We have implemented the $subject and it is available in the ESB's >>>>>>> git repo. As we initially planned we will be releasing this new task >>>>>>> manager with our next release. >>>>>>> >>>>>>> Thanks, >>>>>>> Ishan. >>>>>>> >>>>>>> >>>>>>> On Mon, Apr 21, 2014 at 5:27 PM, Ishan Jayawardena <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Today we had a discussion to review the current implementation of >>>>>>>> $subject. >>>>>>>> We have developed two task providers/managers to manage quartz >>>>>>>> and ntask based task types. The correct task manager gets registered >>>>>>>> according to the synapse configuration, during the startup. When a user >>>>>>>> deploys a new task through the UI, Synapse schedules a task in the >>>>>>>> registered task manager. >>>>>>>> >>>>>>>> Although each task manager is capable of executing its own task >>>>>>>> type, currently none of the task managers can execute tasks of a >>>>>>>> different >>>>>>>> type. Due to this, the new ntask task manager cannot execute existing >>>>>>>> tasks >>>>>>>> such as Synapse MessageInjector. We cannot support this yet without >>>>>>>> Synapse >>>>>>>> having a dependency to ntask component. At the moment we are looking >>>>>>>> into a >>>>>>>> solution to this problem. >>>>>>>> >>>>>>>> At the same time, we are working on the inbound endpoint (VFS) to >>>>>>>> make it reuse the same ntask provider that we developed. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Ishan. >>>>>>>> >>>>>>>> >>>>>>>> On Mon, Apr 21, 2014 at 9:42 AM, Ishan Jayawardena <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hi Kasun, >>>>>>>>> We managed to solve the issue and now we are working on the final >>>>>>>>> stage of the development. We will complete this within this week. >>>>>>>>> Thanks, >>>>>>>>> Ishan. >>>>>>>>> >>>>>>>>> >>>>>>>>> On Tue, Apr 15, 2014 at 9:48 AM, Kasun Indrasiri <[email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Did you check whether the required packages are osgi imported >>>>>>>>>> properly? >>>>>>>>>> On a separate note, what's the ETA of a working deliverable of >>>>>>>>>> this? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Sun, Apr 13, 2014 at 12:43 PM, Anjana Fernando < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Obviously, check if that class is available and where it is >>>>>>>>>>> referred from in the code. As I remember, there isn't a package >>>>>>>>>>> called "ntaskint", >>>>>>>>>>> so check where this is coming from. >>>>>>>>>>> >>>>>>>>>>> Cheers, >>>>>>>>>>> Anjana. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Sat, Apr 12, 2014 at 6:46 AM, Ishan Jayawardena < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> We developed the quartz task manager and we are currently >>>>>>>>>>>> working on the ntask task manager. While developing the task >>>>>>>>>>>> handling >>>>>>>>>>>> component that uses ntask, we observed that we cannot schedule a >>>>>>>>>>>> task in it >>>>>>>>>>>> due to a class not found error. See the below error message. The >>>>>>>>>>>> ntask >>>>>>>>>>>> component (which is used by the component that we are currently >>>>>>>>>>>> writing) >>>>>>>>>>>> cannot load the actual task implementation. Does anyone know how >>>>>>>>>>>> to get rid >>>>>>>>>>>> of this? >>>>>>>>>>>> >>>>>>>>>>>> java.lang.ClassNotFoundException: class >>>>>>>>>>>> org.wso2.carbon.ntaskint.core.Task >>>>>>>>>>>> at >>>>>>>>>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501) >>>>>>>>>>>> at >>>>>>>>>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) >>>>>>>>>>>> at >>>>>>>>>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) >>>>>>>>>>>> at >>>>>>>>>>>> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) >>>>>>>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:247) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.ntask.core.impl.TaskQuartzJobAdapter.execute(TaskQuartzJobAdapter.java:58) >>>>>>>>>>>> at org.quartz.core.JobRunShell.run(JobRunShell.java:213) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) >>>>>>>>>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:138) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) >>>>>>>>>>>> at java.lang.Thread.run(Thread.java:662) >>>>>>>>>>>> Thanks, >>>>>>>>>>>> Ishan. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Mon, Apr 7, 2014 at 9:11 AM, Anjana Fernando < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi Paul, >>>>>>>>>>>>> >>>>>>>>>>>>> Task Server is actually another server itself. NTask component >>>>>>>>>>>>> is the task scheduling component we put to all our Carbon server >>>>>>>>>>>>> when we >>>>>>>>>>>>> need distributed task scheduling functionality. That component >>>>>>>>>>>>> support >>>>>>>>>>>>> scheduling tasks in a standalone manner (in a single server), or >>>>>>>>>>>>> in a >>>>>>>>>>>>> clustered mode for the distributed nature (it does the >>>>>>>>>>>>> coordination using >>>>>>>>>>>>> Hazelcast), or else, also a "remote" mode where it can interface >>>>>>>>>>>>> with an >>>>>>>>>>>>> external Task Server. >>>>>>>>>>>>> >>>>>>>>>>>>> So basically the full required functionality of distributed >>>>>>>>>>>>> tasks can be achieved with the ntask component working in the >>>>>>>>>>>>> clustered >>>>>>>>>>>>> mode, where it identifies all the participating servers in the >>>>>>>>>>>>> cluster and >>>>>>>>>>>>> do the proper fail-over/load balanced scheduling of scheduled >>>>>>>>>>>>> tasks. And >>>>>>>>>>>>> they schedule the tasks themselves using their internal Quartz >>>>>>>>>>>>> functionality. With TS, all the task triggering is offloaded to >>>>>>>>>>>>> TS, where >>>>>>>>>>>>> it will be sending HTTP messages to each server saying to execute >>>>>>>>>>>>> the >>>>>>>>>>>>> tasks. This should happen through the LB as I explained in the >>>>>>>>>>>>> earlier >>>>>>>>>>>>> mail. >>>>>>>>>>>>> >>>>>>>>>>>>> So basically Task Server = ntask component + remote tasks >>>>>>>>>>>>> component. What any other Carbon server will need is just the >>>>>>>>>>>>> ntask >>>>>>>>>>>>> component for full task scheduling functionality. >>>>>>>>>>>>> >>>>>>>>>>>>> Cheers, >>>>>>>>>>>>> Anjana. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Sat, Apr 5, 2014 at 1:43 PM, Paul Fremantle <[email protected]> >>>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Can someone clarify? I'm lost but I really don't understand >>>>>>>>>>>>>> why we are creating any other approach than task server. It is >>>>>>>>>>>>>> the only >>>>>>>>>>>>>> approach that scales clearly. Is our task server code too >>>>>>>>>>>>>> heavyweight? >>>>>>>>>>>>>> >>>>>>>>>>>>>> Paul >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On 5 April 2014 08:47, Chanaka Fernando <[email protected]> >>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hi Kasun/Anjana, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I think what Anjana mentioned and Ishan mentioned are >>>>>>>>>>>>>>> somewhat converge to same idea (even though they looks >>>>>>>>>>>>>>> different). >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> What we have discussed and agreed was that we are developing >>>>>>>>>>>>>>> a separate carbon-component which is used for executing the >>>>>>>>>>>>>>> ntask >>>>>>>>>>>>>>> component. Since we need a common interface to support both the >>>>>>>>>>>>>>> existing >>>>>>>>>>>>>>> quartz based synapse-tasks implementation and the ntask >>>>>>>>>>>>>>> component, we have >>>>>>>>>>>>>>> defined the TaskManager interface. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> When ESB is loading the synapse configuration, it will >>>>>>>>>>>>>>> create an object of type TaskManager according to the Task >>>>>>>>>>>>>>> provider >>>>>>>>>>>>>>> mentioned in the configuration. This task manager object will >>>>>>>>>>>>>>> delegate the >>>>>>>>>>>>>>> scheduling and other task related stuff to the respective >>>>>>>>>>>>>>> implementation of >>>>>>>>>>>>>>> the TaskManager (which can be either QuartzTaskManager or >>>>>>>>>>>>>>> NTaskManager). >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> @Kasun/Anjana: are we missing something here? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>> Chanaka >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Sat, Apr 5, 2014 at 9:32 AM, Kasun Indrasiri < >>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Sat, Apr 5, 2014 at 9:22 AM, Anjana Fernando < >>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Hi Ishan, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Sat, Apr 5, 2014 at 7:33 AM, Ishan Jayawardena < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Currently, we have developed following design and started >>>>>>>>>>>>>>>>>> to work on it. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Synapse will have defined the TaskManager, and Task >>>>>>>>>>>>>>>>>> interfaces whose implementations will provide the concrete >>>>>>>>>>>>>>>>>> tasks and >>>>>>>>>>>>>>>>>> management of those tasks depending on the scheduler(ie >>>>>>>>>>>>>>>>>> quartz or ntask). >>>>>>>>>>>>>>>>>> For instance, for inbuilt quartz based task scheduling, >>>>>>>>>>>>>>>>>> we will refactor and develop a quartz task manager, and a >>>>>>>>>>>>>>>>>> task type while >>>>>>>>>>>>>>>>>> maintaining the compatibility with existing tasks. >>>>>>>>>>>>>>>>>> Additionally, we are developing an ntask based task >>>>>>>>>>>>>>>>>> manager. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> We will introduce the following new element to >>>>>>>>>>>>>>>>>> synapse.xml that provides the class name of the TaskManager >>>>>>>>>>>>>>>>>> implementation >>>>>>>>>>>>>>>>>> so that Synapse can create a single task manger object when >>>>>>>>>>>>>>>>>> it starts up. >>>>>>>>>>>>>>>>>> <definitions xmlns="http://ws.apache.org/ns/synapse"> >>>>>>>>>>>>>>>>>> <taskExecutor >>>>>>>>>>>>>>>>>> provider="org.apache.synapse.task.NTaskTaskManager"/> >>>>>>>>>>>>>>>>>> </definitions> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I guess the NTask based task manager implementation should >>>>>>>>>>>>>>>>> have a WSO2 package name, since it is a WSO2 specific >>>>>>>>>>>>>>>>> implementation, and >>>>>>>>>>>>>>>>> something you will not ship with Synapse. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Exactly. >>>>>>>>>>>>>>>> I've mentioned this several times in our offline >>>>>>>>>>>>>>>> discussions as well.. Why are putting a dependency from >>>>>>>>>>>>>>>> synapse to a WSO2 >>>>>>>>>>>>>>>> component? Again... have a look at how we have integrated >>>>>>>>>>>>>>>> synapse registry >>>>>>>>>>>>>>>> with WSO2 registry. This must be implemented as a carbon >>>>>>>>>>>>>>>> component. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Cheers, >>>>>>>>>>>>>>>>> Anjana. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> The class name of the Task implementation can be obtained >>>>>>>>>>>>>>>>>> at the time the user adds a new task through the UI. By >>>>>>>>>>>>>>>>>> using that class name, Synapse can create the task object, >>>>>>>>>>>>>>>>>> initialize it >>>>>>>>>>>>>>>>>> and hand it over to the task manager instance to schedule. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>>>> Ishan. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Mon, Mar 24, 2014 at 8:23 PM, Isuru Udana < >>>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Mon, Mar 24, 2014 at 8:04 PM, Sagara Gunathunga < >>>>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On Mon, Mar 24, 2014 at 11:52 AM, Kasun Indrasiri < >>>>>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> I would like to clarify the objective of this task: >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> - Introduce the concept of a Task provider in to ESB. >>>>>>>>>>>>>>>>>>>>> Which means any existing task (task config) can be ran on >>>>>>>>>>>>>>>>>>>>> the available >>>>>>>>>>>>>>>>>>>>> task provider( this can be ntask, quartz or anything) >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Is this means we continue to support Quartz as well ? >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Yes. Idea is to introduce an interface at the synapse >>>>>>>>>>>>>>>>>>> level which providers can implement. Quartz based >>>>>>>>>>>>>>>>>>> implementation is one of >>>>>>>>>>>>>>>>>>> the possible task provider implementation. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> IMO for simple use cases it's important to continue >>>>>>>>>>>>>>>>>>>> support for Quartz while Task server may fit into complex >>>>>>>>>>>>>>>>>>>> use cases. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Thanks ! >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> - However, the recipes concept is completely >>>>>>>>>>>>>>>>>>>>> transparent at Synapse level. Simply we don't have to >>>>>>>>>>>>>>>>>>>>> thing about recipes >>>>>>>>>>>>>>>>>>>>> when doing this. Recipe(or Dish) can be consider as a >>>>>>>>>>>>>>>>>>>>> place where specific >>>>>>>>>>>>>>>>>>>>> logic is executed on top of generic task. >>>>>>>>>>>>>>>>>>>>> - All the details on sequence deployment, template >>>>>>>>>>>>>>>>>>>>> invocation is not related to ESB task provider concept. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> On Sat, Mar 22, 2014 at 7:36 AM, Ishan Jayawardena < >>>>>>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> I am working on $subject to support scheduled >>>>>>>>>>>>>>>>>>>>>> invocation of recipes in the ESB. This mainly includes >>>>>>>>>>>>>>>>>>>>>> replacing the >>>>>>>>>>>>>>>>>>>>>> existing quartz based task scheduler with ntask >>>>>>>>>>>>>>>>>>>>>> scheduler. The new task >>>>>>>>>>>>>>>>>>>>>> type is based on ntask, and it will be added as a new >>>>>>>>>>>>>>>>>>>>>> component in the >>>>>>>>>>>>>>>>>>>>>> mediation category. We can use the existing task >>>>>>>>>>>>>>>>>>>>>> management UI of the ESB >>>>>>>>>>>>>>>>>>>>>> to add and manage tasks. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> In addition to the task schedule information, >>>>>>>>>>>>>>>>>>>>>> template name and template parameter values, a special >>>>>>>>>>>>>>>>>>>>>> property must be >>>>>>>>>>>>>>>>>>>>>> added to the task parameter list at the time of task >>>>>>>>>>>>>>>>>>>>>> creation so that the >>>>>>>>>>>>>>>>>>>>>> task can invoke the template within its execute method. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> The task, >>>>>>>>>>>>>>>>>>>>>> reads properties and builds a synapse sequence >>>>>>>>>>>>>>>>>>>>>> by inserting the recipe template in it, >>>>>>>>>>>>>>>>>>>>>> deploys the sequence into synapse, >>>>>>>>>>>>>>>>>>>>>> injects a message to the above sequence to >>>>>>>>>>>>>>>>>>>>>> invoke the template. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>>>>>>>> Ishan. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>> Ishan Jayawardena >>>>>>>>>>>>>>>>>>>>>> Senior Software Engineer >>>>>>>>>>>>>>>>>>>>>> Mobile: +94 (77) 408 2330 >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>> Kasun Indrasiri >>>>>>>>>>>>>>>>>>>>> Software Architect >>>>>>>>>>>>>>>>>>>>> WSO2, Inc.; http://wso2.com >>>>>>>>>>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> cell: +94 77 556 5206 >>>>>>>>>>>>>>>>>>>>> Blog : http://kasunpanorama.blogspot.com/ >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>> Sagara Gunathunga >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Senior Technical Lead; WSO2, Inc.; http://wso2.com >>>>>>>>>>>>>>>>>>>> V.P Apache Web Services; http://ws.apache.org/ >>>>>>>>>>>>>>>>>>>> Linkedin; http://www.linkedin.com/in/ssagara >>>>>>>>>>>>>>>>>>>> Blog ; http://ssagara.blogspot.com >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>> *Isuru Udana* >>>>>>>>>>>>>>>>>>> Senior >>>>>>>>>>>>>>>>>>> * Software Engineer* >>>>>>>>>>>>>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>>>>>>>>>>>>> email: [email protected] cell: +94 77 3791887 >>>>>>>>>>>>>>>>>>> blog: http://mytecheye.blogspot.com/ >>>>>>>>>>>>>>>>>>> twitter: http://twitter.com/isudana >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>> Ishan Jayawardena >>>>>>>>>>>>>>>>>> Senior Software Engineer >>>>>>>>>>>>>>>>>> Mobile: +94 (77) 408 2330 >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>> *Anjana Fernando* >>>>>>>>>>>>>>>>> Technical Lead >>>>>>>>>>>>>>>>> WSO2 Inc. | http://wso2.com >>>>>>>>>>>>>>>>> lean . enterprise . middleware >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> Kasun Indrasiri >>>>>>>>>>>>>>>> Software Architect >>>>>>>>>>>>>>>> WSO2, Inc.; http://wso2.com >>>>>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> cell: +94 77 556 5206 >>>>>>>>>>>>>>>> Blog : http://kasunpanorama.blogspot.com/ >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> Chanaka Fernando >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Technical Lead >>>>>>>>>>>>>>> WSO2, Inc.; http://wso2.com >>>>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> mobile: +94 773337238 >>>>>>>>>>>>>>> Blog : http://soatutorials.blogspot.com >>>>>>>>>>>>>>> LinkedIn: >>>>>>>>>>>>>>> http://www.linkedin.com/pub/chanaka-fernando/19/a20/5b0 >>>>>>>>>>>>>>> Twitter:https://twitter.com/chanakaudaya >>>>>>>>>>>>>>> Wordpress:http://chanakaudaya.wordpress.com >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>> Architecture mailing list >>>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> Paul Fremantle >>>>>>>>>>>>>> CTO and Co-Founder, WSO2 >>>>>>>>>>>>>> OASIS WS-RX TC Co-chair, Apache Member >>>>>>>>>>>>>> >>>>>>>>>>>>>> UK: +44 207 096 0336 >>>>>>>>>>>>>> US: +1 646 595 7614 >>>>>>>>>>>>>> >>>>>>>>>>>>>> blog: http://pzf.fremantle.org >>>>>>>>>>>>>> twitter.com/pzfreo >>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>> >>>>>>>>>>>>>> wso2.com Lean Enterprise Middleware >>>>>>>>>>>>>> >>>>>>>>>>>>>> Disclaimer: This communication may contain privileged or >>>>>>>>>>>>>> other confidential information and is intended exclusively for >>>>>>>>>>>>>> the >>>>>>>>>>>>>> addressee/s. If you are not the intended recipient/s, or believe >>>>>>>>>>>>>> that you >>>>>>>>>>>>>> may have received this communication in error, please reply to >>>>>>>>>>>>>> the sender >>>>>>>>>>>>>> indicating that fact and delete the copy you received and in >>>>>>>>>>>>>> addition, you >>>>>>>>>>>>>> should not print, copy, retransmit, disseminate, or otherwise >>>>>>>>>>>>>> use the >>>>>>>>>>>>>> information contained in this communication. Internet >>>>>>>>>>>>>> communications cannot >>>>>>>>>>>>>> be guaranteed to be timely, secure, error or virus-free. The >>>>>>>>>>>>>> sender does >>>>>>>>>>>>>> not accept liability for any errors or omissions. >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> *Anjana Fernando* >>>>>>>>>>>>> Technical Lead >>>>>>>>>>>>> WSO2 Inc. | http://wso2.com >>>>>>>>>>>>> lean . enterprise . middleware >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Ishan Jayawardena >>>>>>>>>>>> Senior Software Engineer >>>>>>>>>>>> Mobile: +94 (77) 408 2330 >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> *Anjana Fernando* >>>>>>>>>>> Technical Lead >>>>>>>>>>> WSO2 Inc. | http://wso2.com >>>>>>>>>>> lean . enterprise . middleware >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Kasun Indrasiri >>>>>>>>>> Software Architect >>>>>>>>>> WSO2, Inc.; http://wso2.com >>>>>>>>>> lean.enterprise.middleware >>>>>>>>>> >>>>>>>>>> cell: +94 77 556 5206 >>>>>>>>>> Blog : http://kasunpanorama.blogspot.com/ >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Ishan Jayawardena >>>>>>>>> Senior Software Engineer >>>>>>>>> Mobile: +94 (77) 408 2330 >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Ishan Jayawardena >>>>>>>> Senior Software Engineer >>>>>>>> Mobile: +94 (77) 408 2330 >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Ishan Jayawardena >>>>>>> Senior Software Engineer >>>>>>> Mobile: +94 (77) 408 2330 >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> >>>>>> Best Regards, >>>>>> >>>>>> Malaka Silva >>>>>> Senior Tech Lead >>>>>> M: +94 777 219 791 >>>>>> Tel : 94 11 214 5345 >>>>>> Fax :94 11 2145300 >>>>>> Skype : malaka.sampath.silva >>>>>> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77 >>>>>> Blog : http://mrmalakasilva.blogspot.com/ >>>>>> >>>>>> WSO2, Inc. >>>>>> lean . enterprise . middleware >>>>>> http://www.wso2.com/ >>>>>> http://www.wso2.com/about/team/malaka-silva/ >>>>>> <http://wso2.com/about/team/malaka-silva/> >>>>>> >>>>>> Save a tree -Conserve nature & Save the world for your future. Print >>>>>> this email only if it is absolutely necessary. >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> *Anjana Fernando* >>>>> Senior Technical Lead >>>>> WSO2 Inc. | http://wso2.com >>>>> lean . enterprise . middleware >>>>> >>>> >>>> >>>> >>>> -- >>>> >>>> Best Regards, >>>> >>>> Malaka Silva >>>> Senior Tech Lead >>>> M: +94 777 219 791 >>>> Tel : 94 11 214 5345 >>>> Fax :94 11 2145300 >>>> Skype : malaka.sampath.silva >>>> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77 >>>> Blog : http://mrmalakasilva.blogspot.com/ >>>> >>>> WSO2, Inc. >>>> lean . enterprise . middleware >>>> http://www.wso2.com/ >>>> http://www.wso2.com/about/team/malaka-silva/ >>>> <http://wso2.com/about/team/malaka-silva/> >>>> >>>> Save a tree -Conserve nature & Save the world for your future. Print >>>> this email only if it is absolutely necessary. >>>> >>> >>> >>> >>> -- >>> *Anjana Fernando* >>> Senior Technical Lead >>> WSO2 Inc. | http://wso2.com >>> lean . enterprise . middleware >>> >> >> >> >> -- >> >> Best Regards, >> >> Malaka Silva >> Senior Tech Lead >> M: +94 777 219 791 >> Tel : 94 11 214 5345 >> Fax :94 11 2145300 >> Skype : malaka.sampath.silva >> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77 >> Blog : http://mrmalakasilva.blogspot.com/ >> >> WSO2, Inc. >> lean . enterprise . middleware >> http://www.wso2.com/ >> http://www.wso2.com/about/team/malaka-silva/ >> <http://wso2.com/about/team/malaka-silva/> >> >> Save a tree -Conserve nature & Save the world for your future. Print this >> email only if it is absolutely necessary. >> >> > > > -- > > Best Regards, > > Malaka Silva > Senior Tech Lead > M: +94 777 219 791 > Tel : 94 11 214 5345 > Fax :94 11 2145300 > Skype : malaka.sampath.silva > LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77 > Blog : http://mrmalakasilva.blogspot.com/ > > WSO2, Inc. > lean . enterprise . middleware > http://www.wso2.com/ > http://www.wso2.com/about/team/malaka-silva/ > <http://wso2.com/about/team/malaka-silva/> > > Save a tree -Conserve nature & Save the world for your future. Print this > email only if it is absolutely necessary. > -- Kathees Software Engineer, email: [email protected] mobile: +94772596173
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
