I can see policy files goes to registry when QoS is applied for proxy services. However when caching and throttling disabled, relevant policy files does not get deleted from registry hence policy does not get removed from proxy configuration. ESB needs that part also implemented to work QoS scenarios smoothly.
Created [1] to track it. [1] https://wso2.org/jira/browse/CARBON-13476 On Mon, Mar 26, 2012 at 11:28 PM, Kasun Gajasinghe <[email protected]> wrote: > > > On Mon, Mar 26, 2012 at 9:28 PM, Isuru Suriarachchi <[email protected]> wrote: >> >> >> >> On Mon, Mar 26, 2012 at 6:08 PM, Hiranya Jayathilaka <[email protected]> >> wrote: >>> >>> Looks like it's only applying policies that's affected by this change. >>> Can we have some sort of a fix for this as suggested by Isuru? >> >> >> Sure, will provide a fix ASAP.. KasunG, please go ahead with this as >> discussed offline.. >> > > Sure. > >> >> Thanks, >> ~Isuru >> >>> >>> >>> Thanks, >>> Hiranya >>> >>> >>> On Mon, Mar 26, 2012 at 3:38 PM, Hiranya Jayathilaka <[email protected]> >>> wrote: >>>> >>>> Hi Isuru, >>>> >>>> On Mon, Mar 26, 2012 at 3:34 PM, Isuru Suriarachchi <[email protected]> >>>> wrote: >>>>> >>>>> >>>>> >>>>> On Mon, Mar 26, 2012 at 3:13 PM, Hiranya Jayathilaka <[email protected]> >>>>> wrote: >>>>>> >>>>>> >>>>>> >>>>>> On Mon, Mar 26, 2012 at 3:04 PM, Afkham Azeez <[email protected]> wrote: >>>>>>> >>>>>>> How do you set the Registry to Synapse? Does it depend on the >>>>>>> Registry API? If so, we can have a Registry implementation which works >>>>>>> with >>>>>>> the file system persistence structure. >>>>>> >>>>>> >>>>>> Synapse accesses WSO2 registry through the Synapse registry API. We >>>>>> can't have a registry implementation that only works with the file system >>>>>> (because we need to be able to lookup registry resources too - WSDLs, >>>>>> endpoints and stuff). If we go along this path we have to come up with an >>>>>> implementation that can work with both WSO2 registry and local file >>>>>> system >>>>>> (kind of like a hybrid registry). >>>>> >>>>> >>>>> I think for the time being the best option is to store the policies for >>>>> proxy services also in the Registry. Hiranya, will it solve the problem or >>>>> are there any other failure cases? >>>>> >>>>> Is the problem only related to policies? It's better to identify all >>>>> such problematic scenarios ASAP and address those. >>>> >>>> >>>> I'm trying out various scenarios with the ESB. So far this is the only >>>> problematic case I came across. I'll run some more tests and let you know >>>> my >>>> findings by EoD today. >>>> >>>>> >>>>> >>>>> However, we have to come up with a better solution in the long run. >>>> >>>> >>>> +1 >>>> >>>> Thanks, >>>> Hiranya >>>> >>>>> >>>>> >>>>> Thanks, >>>>> ~Isuru >>>>> >>>>>> >>>>>> >>>>>> Thanks, >>>>>> Hiranya >>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Mon, Mar 26, 2012 at 2:51 PM, Hiranya Jayathilaka >>>>>>> <[email protected]> wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Mon, Mar 26, 2012 at 2:48 PM, Hiranya Jayathilaka >>>>>>>> <[email protected]> wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Mon, Mar 26, 2012 at 2:39 PM, Kasun Gajasinghe <[email protected]> >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Mon, Mar 26, 2012 at 2:34 PM, Hiranya Jayathilaka >>>>>>>>>> <[email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>> I tried enabling caching for the service. It did get applied as >>>>>>>>>>> expected. But the change didn't survive a restart. I think this is >>>>>>>>>>> same for >>>>>>>>>>> other QoS modules too (throttling, RM etc). >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Does the relevant policy got added to the relevant metafile? >>>>>>>>> >>>>>>>>> >>>>>>>>> Yes it does. I debugged this case a little bit, and I think the >>>>>>>>> problem occurs because our proxy service observer expects to find the >>>>>>>>> relevant policies in the registry. But they are no longer stored in >>>>>>>>> the >>>>>>>>> registry. >>>>>>>>> >>>>>>>>> In the past it was just a matter of updating the proxy service >>>>>>>>> configuration with a key that points to the appropriate policy in the >>>>>>>>> registry: >>>>>>>>> >>>>>>>>> <policy key="conf:/path/to/policy"/> >>>>>>>>> >>>>>>>>> ESB knows how to resolve registry keys. But with the new model I >>>>>>>>> don't know how the same behavior can be achieved. >>>>>>>> >>>>>>>> >>>>>>>> This is going to affect all QoS aspects of ESB including security. >>>>>>>> How do we solve this problem? Synapse can only load policies from the >>>>>>>> registry. >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Hiranya >>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Lakmali, I'll look into this. I've already answered your second >>>>>>>>>> issue. >>>>>>>>>> As I've been told earlier, please send the logs as soon as you >>>>>>>>>> faced with an issue related to persistence. At this point of time, >>>>>>>>>> this >>>>>>>>>> implementation isn't tested in other products than Kernel, and >>>>>>>>>> AppServer. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Hiranya >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Mon, Mar 26, 2012 at 2:32 PM, Lakmali Baminiwatta >>>>>>>>>>> <[email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>> Hi, >>>>>>>>>>>> >>>>>>>>>>>> I am also experiencing similar issues on DSS product & service. >>>>>>>>>>>> When a service is saved the following exception occurs. >>>>>>>>>>>> >>>>>>>>>>>> ERROR >>>>>>>>>>>> {org.wso2.carbon.core.persistence.AbstractPersistenceManager} - >>>>>>>>>>>> Unable to >>>>>>>>>>>> handle new service addition. Service: H2BasicService >>>>>>>>>>>> java.lang.NullPointerException >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.core.persistence.ServicePersistenceManager.handleNewBindingAddition(ServicePersistenceManager.java:344) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.core.persistence.ServicePersistenceManager.handleNewServiceAddition(ServicePersistenceManager.java:192) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.core.deployment.DeploymentInterceptor.serviceUpdate(DeploymentInterceptor.java:280) >>>>>>>>>>>> >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.engine.AxisConfiguration.notifyObservers(AxisConfiguration.java:652) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.engine.AxisConfiguration.addServiceGroup(AxisConfiguration.java:406) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.dataservices.core.DBDeployer.deploy(DBDeployer.java:180) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:810) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:371) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:59) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:67) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:75) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) >>>>>>>>>>>> >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>>>>>>>>>>> at java.lang.Thread.run(Thread.java:662) >>>>>>>>>>>> >>>>>>>>>>>> Also when engaging the security on services it fails with the >>>>>>>>>>>> following exception. >>>>>>>>>>>> >>>>>>>>>>>> ERROR {org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver} >>>>>>>>>>>> - Service with name H2BasicService not found. >>>>>>>>>>>> org.wso2.carbon.security.SecurityConfigException: Service with >>>>>>>>>>>> name H2BasicService not found. >>>>>>>>>>>> >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.security.config.SecurityConfigAdmin.applyPolicy(SecurityConfigAdmin.java:764) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.security.config.SecurityConfigAdmin.applyPolicy(SecurityConfigAdmin.java:633) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.security.config.SecurityConfigAdmin.applySecurity(SecurityConfigAdmin.java:610) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.security.config.service.SecurityConfigAdminService.applySecurity(SecurityConfigAdminService.java:45) >>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >>>>>>>>>>>> Method) >>>>>>>>>>>> at >>>>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>>>>>>>>>>> at >>>>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invokeBusinessLogic(RPCInOnlyMessageReceiver.java:66) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:205) >>>>>>>>>>>> at >>>>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:641) >>>>>>>>>>>> at >>>>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:722) >>>>>>>>>>>> at >>>>>>>>>>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) >>>>>>>>>>>> at >>>>>>>>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) >>>>>>>>>>>> at >>>>>>>>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67) >>>>>>>>>>>> at >>>>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:722) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:45) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:60) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:155) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1600) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>>>>>>>>>>> at java.lang.Thread.run(Thread.java:662) >>>>>>>>>>>> Caused by: org.apache.axis2.AxisFault: Service with name >>>>>>>>>>>> H2BasicService not found. >>>>>>>>>>>> >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.security.config.SecurityConfigAdmin.applyPolicy(SecurityConfigAdmin.java:739) >>>>>>>>>>>> ... 39 more >>>>>>>>>>>> >>>>>>>>>>>> Thanks, >>>>>>>>>>>> Lakmali >>>>>>>>>>>> On Mon, Mar 26, 2012 at 2:18 PM, Afkham Azeez <[email protected]> >>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Mon, Mar 26, 2012 at 2:16 PM, Hiranya Jayathilaka >>>>>>>>>>>>> <[email protected]> wrote:\ >>>>>>>>>>>>>> >>>>>>>>>>>>>> Ok then I guess we need that part too. And I can see that a >>>>>>>>>>>>>> file has been created for my proxy service under the metafiles >>>>>>>>>>>>>> directory >>>>>>>>>>>>>> (see the attachment test.xml). Still I'm confused as to why so >>>>>>>>>>>>>> many >>>>>>>>>>>>>> PersistenceExceptions are thrown when updating the configuration >>>>>>>>>>>>>> or starting >>>>>>>>>>>>>> the ESB. Also why can't I enable security on my proxy services? >>>>>>>>>>>>>> From the >>>>>>>>>>>>>> stacktrace it looks like SecurityConfigAdmin is trying to locate >>>>>>>>>>>>>> the service >>>>>>>>>>>>>> in the registry. Is that behavior correct? >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> It means that the security component still has not been fixed. >>>>>>>>>>>>> All persistence related stuff should strictly be in the file >>>>>>>>>>>>> system only. >>>>>>>>>>>>> >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>> Dev mailing list >>>>>>>>>>>>> [email protected] >>>>>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Lakmali Baminiwatta >>>>>>>>>>>> Software Engineer >>>>>>>>>>>> WSO2, Inc.: http://wso2.com >>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Hiranya Jayathilaka >>>>>>>>>>> Associate Technical Lead; >>>>>>>>>>> WSO2 Inc.; http://wso2.org >>>>>>>>>>> E-mail: [email protected]; Mobile: +94 77 633 3491 >>>>>>>>>>> Blog: http://techfeast-hiranya.blogspot.com >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Dev mailing list >>>>>>>>>>> [email protected] >>>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Kasun Gajasinghe >>>>>>>>>> Software Engineer; WSO2 Inc.; http://wso2.com >>>>>>>>>> >>>>>>>>>> , >>>>>>>>>> email: kasung AT spamfree wso2.com cell: +94 (77) 678-0813 >>>>>>>>>> linked-in: http://lk.linkedin.com/in/gajasinghe >>>>>>>>>> blog: http://blog.kasunbg.org >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> twitter: http://twitter.com/kasunbg >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Hiranya Jayathilaka >>>>>>>>> Associate Technical Lead; >>>>>>>>> WSO2 Inc.; http://wso2.org >>>>>>>>> E-mail: [email protected]; Mobile: +94 77 633 3491 >>>>>>>>> Blog: http://techfeast-hiranya.blogspot.com >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Hiranya Jayathilaka >>>>>>>> Associate Technical Lead; >>>>>>>> WSO2 Inc.; http://wso2.org >>>>>>>> E-mail: [email protected]; Mobile: +94 77 633 3491 >>>>>>>> Blog: http://techfeast-hiranya.blogspot.com >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Dev mailing list >>>>>>>> [email protected] >>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Afkham Azeez >>>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>>>> >>>>>>> email: [email protected] cell: +94 77 3320919 >>>>>>> blog: http://blog.afkham.org >>>>>>> twitter: http://twitter.com/afkham_azeez >>>>>>> linked-in: http://lk.linkedin.com/in/afkhamazeez >>>>>>> >>>>>>> Lean . Enterprise . Middleware >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Hiranya Jayathilaka >>>>>> Associate Technical Lead; >>>>>> WSO2 Inc.; http://wso2.org >>>>>> E-mail: [email protected]; Mobile: +94 77 633 3491 >>>>>> Blog: http://techfeast-hiranya.blogspot.com >>>>>> >>>>>> _______________________________________________ >>>>>> Dev mailing list >>>>>> [email protected] >>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Isuru Suriarachchi >>>>> Technical Lead >>>>> WSO2 Inc. http://wso2.com >>>>> email : [email protected] >>>>> blog : http://isurues.wordpress.com/ >>>>> >>>>> lean . enterprise . middleware >>>>> >>>> >>>> >>>> >>>> -- >>>> Hiranya Jayathilaka >>>> Associate Technical Lead; >>>> WSO2 Inc.; http://wso2.org >>>> E-mail: [email protected]; Mobile: +94 77 633 3491 >>>> Blog: http://techfeast-hiranya.blogspot.com >>> >>> >>> >>> >>> -- >>> Hiranya Jayathilaka >>> Associate Technical Lead; >>> WSO2 Inc.; http://wso2.org >>> E-mail: [email protected]; Mobile: +94 77 633 3491 >>> Blog: http://techfeast-hiranya.blogspot.com >> >> >> >> >> -- >> Isuru Suriarachchi >> Technical Lead >> WSO2 Inc. http://wso2.com >> email : [email protected] >> blog : http://isurues.wordpress.com/ >> >> lean . enterprise . middleware >> > > > > -- > Kasun Gajasinghe > Software Engineer; WSO2 Inc.; http://wso2.com > > , > email: kasung AT spamfree wso2.com cell: +94 (77) 678-0813 > linked-in: http://lk.linkedin.com/in/gajasinghe > blog: http://blog.kasunbg.org > > > twitter: http://twitter.com/kasunbg > > > > > _______________________________________________ > Dev mailing list > [email protected] > http://wso2.org/cgi-bin/mailman/listinfo/dev > -- Thanks, Miyuru _______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
