Hi Senduran, Did you observer this error only when manager is started first?
On Wed, Jul 8, 2015 at 2:52 AM, Senduran Balasubramaniyam <sendu...@wso2.com > wrote: > Hi Chanaka, > > Thank you, yes once we started the nodes as workers(2 nodes) it worked. > > Thanks > Senduran > > On Mon, Jul 6, 2015 at 8:50 PM, Chanaka Fernando <chana...@wso2.com> > wrote: > >> Hi Senduran, >> >> How did you start the nodes? You need to have 1 manager node and other >> nodes should be started with 'DworkerNode=true' parameter as worker nodes. >> Basically, task will be run on the worker nodes only. >> >> Thanks, >> Chanaka >> >> On Tue, Jul 7, 2015 at 5:29 AM, Senduran Balasubramaniyam < >> sendu...@wso2.com> wrote: >> >>> Hi Anjana, >>> >>> I have a three node ESB cluster, when I try to schedule a task I am >>> getting the following exception. But all the nodes are up and running. >>> >>> TID: [-1234] [] [2015-07-06 23:47:30,536] ERROR >>> {org.wso2.carbon.mediation.ntask.NTaskTaskManager} - Scheduling task >>> [[NTask::-1234::task_abc]::synapse.simple.quartz] FAILED. Error: No >>> available task nodes for resolving a task location >>> {org.wso2.carbon.mediation.ntask.NTaskTaskManager} >>> org.wso2.carbon.ntask.common.TaskException: No available task nodes for >>> resolving a task location >>> at >>> org.wso2.carbon.ntask.core.impl.clustered.ClusteredTaskManager.getTaskLocation(ClusteredTaskManager.java:224) >>> at >>> org.wso2.carbon.ntask.core.impl.clustered.ClusteredTaskManager.locateMemberForTask(ClusteredTaskManager.java:201) >>> at >>> org.wso2.carbon.ntask.core.impl.clustered.ClusteredTaskManager.getMemberIdFromTaskName(ClusteredTaskManager.java:275) >>> at >>> org.wso2.carbon.ntask.core.impl.clustered.ClusteredTaskManager.scheduleTask(ClusteredTaskManager.java:86) >>> >>> When I try to pinned the server (with IP address ) I am getting the >>> following >>> Server name not in pinned servers list. Not starting Task : task_abc >>> {org.apache.synapse.startup.quartz.StartUpController} >>> >>> Could you please suggest me a to fix this >>> >>> >>> Regards >>> Senduran >>> >>> >>> On Wed, May 27, 2015 at 8:00 AM, Anjana Fernando <anj...@wso2.com> >>> wrote: >>> >>>> Hi Malaka, >>>> >>>> This is not a bug, but as the message says, this is because, in your >>>> "manager" node, which I guess, did not register the task type, so it will >>>> not participate in executing the tasks, but it can register and schedule >>>> tasks to be run in other nodes. So if this manager node registers and gives >>>> a command to say "schedule", it will look in the cluster for possible >>>> workers to schedule and execute the task. If there aren't any workers >>>> (nodes which has registered that task type) available, it will give this >>>> error saying, the task could not be registered, which is what should be >>>> done, or else, the caller will get a false confirmation saying, the task is >>>> scheduled and running. >>>> >>>> So basically the point is, before a task is "scheduled", we have to >>>> make sure, possible workers are there to run it. >>>> >>>> Cheers, >>>> Anjana. >>>> >>>> On Wed, May 27, 2015 at 10:59 AM, Malaka Silva <mal...@wso2.com> wrote: >>>> >>>>> Hi, >>>>> >>>>> While checking the tasks observer the following error. >>>>> >>>>> This happens only when scheduling a task from manager. My >>>>> understanding was NTASK have the same behavior in manager and worker >>>>> nodes. >>>>> Is it the case? >>>>> >>>>> This happens because in the following code. When starting manager node >>>>> memberlist is empty. But starting a worker first, member list contains >>>>> that >>>>> member. >>>>> >>>>> I guess this is a bug? >>>>> >>>>> This will not effect the functionality in ESB however error is printed >>>>> on startup. >>>>> >>>>> TaskServiceContext ctx = this.getTaskServiceContext(); >>>>> if (ctx.getServerCount() == 0) { >>>>> throw new TaskException("No available task nodes for >>>>> resolving a task location", >>>>> Code.TASK_NODE_NOT_AVAILABLE); >>>>> } >>>>> >>>>> [1] >>>>> https://github.com/wso2/carbon-commons/blob/master/components/ntask/org.wso2.carbon.ntask.core/src/main/java/org/wso2/carbon/ntask/core/impl/clustered/ClusteredTaskManager.java >>>>> [2] >>>>> https://github.com/wso2/carbon-commons/blob/master/components/ntask/org.wso2.carbon.ntask.core/src/main/java/org/wso2/carbon/ntask/core/TaskServiceContext.java >>>>> >>>>> >>>>> [2015-05-27 09:39:42,807] ERROR - NTaskTaskManager Scheduling task >>>>> [[NTask::-1234::file-FILE--SYNAPSE_INBOUND_ENDPOINT]::FILE--SYNAPSE_INBOUND_ENDPOINT] >>>>> FAILED. Error: No available task nodes for resolving a task location >>>>> org.wso2.carbon.ntask.common.TaskException: No available task nodes >>>>> for resolving a task location >>>>> at >>>>> org.wso2.carbon.ntask.core.impl.clustered.ClusteredTaskManager.getTaskLocation(ClusteredTaskManager.java:224) >>>>> at >>>>> org.wso2.carbon.ntask.core.impl.clustered.ClusteredTaskManager.locateMemberForTask(ClusteredTaskManager.java:201) >>>>> at >>>>> org.wso2.carbon.ntask.core.impl.clustered.ClusteredTaskManager.getMemberIdFromTaskName(ClusteredTaskManager.java:275) >>>>> at >>>>> org.wso2.carbon.ntask.core.impl.clustered.ClusteredTaskManager.scheduleTask(ClusteredTaskManager.java:86) >>>>> at >>>>> org.wso2.carbon.mediation.ntask.NTaskTaskManager.schedule(NTaskTaskManager.java:89) >>>>> at >>>>> org.wso2.carbon.mediation.ntask.NTaskTaskManager.init(NTaskTaskManager.java:336) >>>>> at >>>>> org.wso2.carbon.mediation.ntask.NTaskTaskManager.update(NTaskTaskManager.java:349) >>>>> at >>>>> org.wso2.carbon.mediation.ntask.internal.NtaskService.updateAndCleanupObservers(NtaskService.java:103) >>>>> at >>>>> org.wso2.carbon.mediation.ntask.internal.NtaskService.setConfigurationContextService(NtaskService.java:96) >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>> at >>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>>>> at >>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>>> at >>>>> org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:376) >>>>> at >>>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:430) >>>>> at >>>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bind(ServiceComponentProp.java:218) >>>>> at >>>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:343) >>>>> at >>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620) >>>>> at >>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197) >>>>> at >>>>> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343) >>>>> at >>>>> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107) >>>>> at >>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861) >>>>> at >>>>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) >>>>> at >>>>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214) >>>>> at >>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433) >>>>> at >>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451) >>>>> at >>>>> org.wso2.carbon.ntask.core.internal.TasksDSComponent.activate(TasksDSComponent.java:106) >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>> at >>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>>>> at >>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>>> at >>>>> org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260) >>>>> at >>>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146) >>>>> at >>>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345) >>>>> at >>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620) >>>>> at >>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197) >>>>> at >>>>> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343) >>>>> at >>>>> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107) >>>>> at >>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861) >>>>> at >>>>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) >>>>> at >>>>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214) >>>>> at >>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433) >>>>> at >>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451) >>>>> at >>>>> org.wso2.carbon.core.internal.StartupFinalizerServiceComponent.completeInitialization(StartupFinalizerServiceComponent.java:199) >>>>> at >>>>> org.wso2.carbon.core.internal.StartupFinalizerServiceComponent.serviceChanged(StartupFinalizerServiceComponent.java:288) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107) >>>>> at >>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861) >>>>> at >>>>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) >>>>> at >>>>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214) >>>>> at >>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433) >>>>> at >>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451) >>>>> at >>>>> org.wso2.carbon.throttling.agent.internal.ThrottlingAgentServiceComponent.registerThrottlingAgent(ThrottlingAgentServiceComponent.java:123) >>>>> at >>>>> org.wso2.carbon.throttling.agent.internal.ThrottlingAgentServiceComponent.activate(ThrottlingAgentServiceComponent.java:100) >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>> at >>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>>>> at >>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>>> at >>>>> org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260) >>>>> at >>>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146) >>>>> at >>>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345) >>>>> at >>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620) >>>>> at >>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197) >>>>> at >>>>> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343) >>>>> at >>>>> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107) >>>>> at >>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861) >>>>> at >>>>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) >>>>> at >>>>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214) >>>>> at >>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433) >>>>> at >>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451) >>>>> at >>>>> org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:517) >>>>> at >>>>> org.wso2.carbon.core.init.CarbonServerManager.start(CarbonServerManager.java:219) >>>>> at >>>>> org.wso2.carbon.core.internal.CarbonCoreServiceComponent.activate(CarbonCoreServiceComponent.java:91) >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>> at >>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>>>> at >>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>>> at >>>>> org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260) >>>>> at >>>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146) >>>>> at >>>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345) >>>>> at >>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620) >>>>> at >>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197) >>>>> at >>>>> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343) >>>>> at >>>>> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107) >>>>> at >>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861) >>>>> at >>>>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) >>>>> at >>>>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130) >>>>> at >>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214) >>>>> at >>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433) >>>>> at >>>>> org.eclipse.equinox.http.servlet.internal.Activator.registerHttpService(Activator.java:81) >>>>> at >>>>> org.eclipse.equinox.http.servlet.internal.Activator.addProxyServlet(Activator.java:60) >>>>> at >>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.init(ProxyServlet.java:40) >>>>> at >>>>> org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.init(DelegationServlet.java:38) >>>>> at >>>>> org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284) >>>>> at >>>>> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197) >>>>> at >>>>> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087) >>>>> at >>>>> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5262) >>>>> at >>>>> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5550) >>>>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) >>>>> at >>>>> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575) >>>>> at >>>>> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) >>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:262) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >>>>> at java.lang.Thread.run(Thread.java:745) >>>>> >>>>> >>>>> 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 >>>> >>>> _______________________________________________ >>>> Dev mailing list >>>> Dev@wso2.org >>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>> >>>> >>> >>> >>> -- >>> *Senduran * >>> Software Engineer, >>> WSO2, Inc.; http://wso2.com/ <http://wso2.com/> >>> Mobile: +94 77 952 6548 >>> >>> _______________________________________________ >>> Dev mailing list >>> Dev@wso2.org >>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>> >>> >> >> >> -- >> -- >> Chanaka Fernando >> Senior 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 >> >> >> >> > > > -- > *Senduran * > Software Engineer, > WSO2, Inc.; http://wso2.com/ <http://wso2.com/> > Mobile: +94 77 952 6548 > > _______________________________________________ > Dev mailing list > Dev@wso2.org > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- 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.
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev