Hi all, I looked into the unit tests that are failing in msf4j[1] after upgrading carbon-transports to v 2.0.3-SNAPSHOT and noticed that this is happening when initializing the MicroserviceRunner instance. As per the error [2], this is coming from carbon-transports. As per the offline discussion I had with Senduran, a new config has been added called "transportProperties" which needs to be set. How do we set these values in the case of a unit test.
[1] - https://github.com/wso2/msf4j/blob/master/core/src/test/java/org/wso2/msf4j/internal/router/HttpServerTest.java [2] - [org.wso2.msf4j.MicroservicesRunner] : Microservices server started in 10113ms [org.wso2.carbon.transport.http.netty.listener.NettyServerInitializer] : Calling CarbonNettyServerInitializer OSGi service org.wso2.carbon.transport.http.netty.listener.CarbonNettyServerInitializer@7fcb9c71 [org.wso2.carbon.transport.http.netty.listener.CarbonNettyServerInitializer] : Initializing source channel pipeline [io.netty.util.ResourceLeakDetector] : -Dio.netty.leakDetectionLevel: simple [io.netty.channel.ChannelInitializer] : Failed to initialize a channel. Closing: [id: 0x1e800c9b, localhost/127.0.0.1:56191 => /127.0.0.1:8081] java.lang.ExceptionInInitializerError at org.wso2.carbon.transport.http.netty.listener.CarbonNettyServerInitializer.initChannel(CarbonNettyServerInitializer.java:102) at org.wso2.carbon.transport.http.netty.listener.NettyServerInitializer.initChannel(NettyServerInitializer.java:81) at org.wso2.carbon.transport.http.netty.listener.NettyServerInitializer.initChannel(NettyServerInitializer.java:36) at io.netty.channel.ChannelInitializer.channelRegistered(ChannelInitializer.java:68) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRegistered(AbstractChannelHandlerContext.java:133) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRegistered(AbstractChannelHandlerContext.java:119) at io.netty.channel.DefaultChannelPipeline.fireChannelRegistered(DefaultChannelPipeline.java:733) at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:450) at io.netty.channel.AbstractChannel$AbstractUnsafe.access$100(AbstractChannel.java:378) at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:424) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:356) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:110) at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NullPointerException at org.wso2.carbon.transport.http.netty.listener.RequestSizeValidationConfiguration.<init>(RequestSizeValidationConfiguration.java:51) at org.wso2.carbon.transport.http.netty.listener.RequestSizeValidationConfiguration.<clinit>(RequestSizeValidationConfiguration.java:31) ... 15 more [org.wso2.carbon.transport.http.netty.listener.NettyServerInitializer] : Calling CarbonNettyServerInitializer OSGi service org.wso2.carbon.transport.http.netty.listener.CarbonNettyServerInitializer@7fcb9c71 [org.wso2.carbon.transport.http.netty.listener.CarbonNettyServerInitializer] : Initializing source channel pipeline [io.netty.channel.ChannelInitializer] : Failed to initialize a channel. Closing: [id: 0x0a08449b, localhost/127.0.0.1:56192 => /127.0.0.1:8081] java.lang.NoClassDefFoundError: Could not initialize class org.wso2.carbon.transport.http.netty.listener.RequestSizeValidationConfiguration at org.wso2.carbon.transport.http.netty.listener.CarbonNettyServerInitializer.initChannel(CarbonNettyServerInitializer.java:102) at org.wso2.carbon.transport.http.netty.listener.NettyServerInitializer.initChannel(NettyServerInitializer.java:81) at org.wso2.carbon.transport.http.netty.listener.NettyServerInitializer.initChannel(NettyServerInitializer.java:36) at io.netty.channel.ChannelInitializer.channelRegistered(ChannelInitializer.java:68) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRegistered(AbstractChannelHandlerContext.java:133) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRegistered(AbstractChannelHandlerContext.java:119) at io.netty.channel.DefaultChannelPipeline.fireChannelRegistered(DefaultChannelPipeline.java:733) at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:450) at io.netty.channel.AbstractChannel$AbstractUnsafe.access$100(AbstractChannel.java:378) at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:424) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:356) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:110) at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) at java.lang.Thread.run(Thread.java:745) [org.wso2.carbon.transport.http.netty.listener.NettyListener] : Stopping Netty transport netty-8081 on port 8081 Regards, Nira On Mon, May 16, 2016 at 8:44 PM, Niranjan Karunanandham <[email protected]> wrote: > Hi Senduran, > > I tried to build msf4j with your changes but its tests are failing with > NPE and java.lang.NoClassDefFoundError. Has there been any major changes in > carbon-transports from 2.0.1 to 2.0.3-SNAPSHOT? We need to fixes these > issues. > > @Hasitha: Till these issues are sorted will you be able to continue by > building the carbon-transports and msf4j PR locally (mentioned in the > previous thread), so that you are not blocked till the above mentioned > issues are solved? In this way, your progress will not be blocked. > > Regards, > Nira > > On Mon, May 16, 2016 at 3:27 PM, Niranjan Karunanandham <[email protected] > > wrote: > >> Noted. The PR i sent for msf4j is to the master branch so it could be >> tested directly with the changes that has been applied to the >> carbon-transports.. Anyway I will test it and get back to you. >> >> Regards, >> Nira >> >> On Mon, May 16, 2016 at 11:55 AM, Senduran Balasubramaniyam < >> [email protected]> wrote: >> >>> Hi Niranjan / Hasitha >>> >>> We have upgraded carbon transport's kernel version to 5.1.0-alpha2 and >>> done the fixes for the new start up resolver (based on [1] ). The changes >>> are pushed to the master branch (2.0.3-snapshot) >>> Please test it and let us know whether it resolves the issues. so that >>> we can proceed with carbon-transport release (2.1.0) >>> >>> [1] https://github.com/Niranjan-K/carbon-transports/tree/fix-v2.0.1 >>> >>> Regards >>> Senduran >>> >>> On Thu, May 12, 2016 at 2:42 PM, Niranjan Karunanandham < >>> [email protected]> wrote: >>> >>>> Hi all, >>>> >>>> I have modified carbon-datasources [1] and msf4j [2] with carbon-kernel >>>> 5.1.0-alpha2 (in staging). I verified msf4j modifying by changing >>>> carbon-transports v2.0.1 [3] with startup resolver changes. >>>> >>>> [1] - https://github.com/wso2/carbon-datasources/pull/14 >>>> [2] - https://github.com/wso2/msf4j/pull/169 >>>> [3] - https://github.com/Niranjan-K/carbon-transports/tree/fix-v2.0.1 >>>> >>>> Regards, >>>> Nira >>>> >>>> On Mon, May 9, 2016 at 2:55 PM, Nandika Jayawardana <[email protected]> >>>> wrote: >>>> >>>>> Can we have a quick resolution to this issue. >>>>> >>>>> Regards >>>>> Nandika >>>>> >>>>> On Mon, May 9, 2016 at 11:09 AM, Niranjan Karunanandham < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi Sameera, >>>>>> >>>>>> I have fixed this for carbon-datasources in PR [1]. >>>>>> >>>>>> [1] - https://github.com/wso2/carbon-datasources/pull/14 >>>>>> >>>>>> Regards, >>>>>> Nira >>>>>> >>>>>> On Mon, May 9, 2016 at 10:43 AM, Afkham Azeez <[email protected]> wrote: >>>>>> >>>>>>> Transport folks, please note. I think a release is planned but we >>>>>>> will need to hold it back until these changes are made. >>>>>>> >>>>>>> On Sun, May 8, 2016 at 12:39 PM, Niranjan Karunanandham < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi Hasitha, >>>>>>>> >>>>>>>> There were some improvements done to the startup resolver as >>>>>>>> mentioned in [1]. I faced a similar issue[2] when testing the Kernel >>>>>>>> 5.1.0-alpha2 (which is in staging) with carbon-datasources and I was >>>>>>>> able >>>>>>>> to fix it by following the doc and updating the datasource.core >>>>>>>> pom.xml [3] >>>>>>>> and DataSourceListenerComponent.java [4]. >>>>>>>> >>>>>>>> [1] - https://medium.com/@sameera.jayasoma/497fe3287e67#.ravrmkjir >>>>>>>> [2] - >>>>>>>> [2016-05-08 11:31:16,371] ERROR {org.wso2.carbon.core} - >>>>>>>> FrameworkEvent ERROR - org.wso2.carbon.core >>>>>>>> org.wso2.carbon.kernel.internal.startupresolver.StartOrderResolverException: >>>>>>>> componentName value is missing in the services registered with the key >>>>>>>> org.wso2.carbon.kernel.startupresolver.RequiredCapabilityListener, >>>>>>>> implementation class name is >>>>>>>> org.wso2.carbon.datasource.core.internal.DataSourceListenerComponent >>>>>>>> at >>>>>>>> org.wso2.carbon.kernel.internal.startupresolver.OSGiServiceCapabilityTracker$CapabilityServiceTrackerCustomizer.addingService(OSGiServiceCapabilityTracker.java:142) >>>>>>>> at >>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) >>>>>>>> at >>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) >>>>>>>> at >>>>>>>> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) >>>>>>>> at >>>>>>>> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) >>>>>>>> at >>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) >>>>>>>> at >>>>>>>> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) >>>>>>>> at >>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:914) >>>>>>>> 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:862) >>>>>>>> at >>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) >>>>>>>> at >>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) >>>>>>>> at >>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) >>>>>>>> at >>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) >>>>>>>> at >>>>>>>> org.eclipse.equinox.internal.ds.InstanceProcess.registerService(InstanceProcess.java:536) >>>>>>>> at >>>>>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:213) >>>>>>>> at >>>>>>>> org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473) >>>>>>>> at >>>>>>>> org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217) >>>>>>>> at >>>>>>>> org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816) >>>>>>>> at >>>>>>>> org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783) >>>>>>>> at >>>>>>>> org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89) >>>>>>>> at >>>>>>>> org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70) >>>>>>>> >>>>>>>> [3] - >>>>>>>> >>>>>>>> <carbon.component> >>>>>>>> >>>>>>>> startup.listener;componentName="carbon-datasource-service";requiredService="org.wso2.carbon.datasource.core.spi.DataSourceReader" >>>>>>>> </carbon.component> >>>>>>>> >>>>>>>> >>>>>>>> [4] - >>>>>>>> >>>>>>>> @Component( >>>>>>>> name = >>>>>>>> "org.wso2.carbon.kernel.datasource.core.internal.DataSourceListenerComponent", >>>>>>>> immediate = true, >>>>>>>> service = RequiredCapabilityListener.class, >>>>>>>> property = { >>>>>>>> "componentName=carbon-datasource-service" >>>>>>>> } >>>>>>>> ) >>>>>>>> >>>>>>>> Regards, >>>>>>>> Nira >>>>>>>> >>>>>>>> On Sat, May 7, 2016 at 8:26 PM, Hasitha Aravinda <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hi Sameera, >>>>>>>>> >>>>>>>>> We are getting following error when server startup. >>>>>>>>> >>>>>>>>> osgi> [2016-05-07 20:21:11,972] ERROR >>>>>>>>> {org.wso2.carbon.kernel.internal.startupresolver.StartupOrderResolver} >>>>>>>>> - >>>>>>>>> Error occurred in Startup Order Resolver. >>>>>>>>> org.wso2.carbon.kernel.internal.startupresolver.StartOrderResolverException: >>>>>>>>> capabilityName value is missing in the services registered with the >>>>>>>>> key >>>>>>>>> org.wso2.carbon.kernel.startupresolver.CapabilityProvider, >>>>>>>>> implementation >>>>>>>>> class name is >>>>>>>>> org.wso2.msf4j.analytics.internal.InterceptorCapabilityProvider >>>>>>>>> at >>>>>>>>> org.wso2.carbon.kernel.internal.startupresolver.OSGiServiceCapabilityTracker$CapabilityServiceTrackerCustomizer.addingService(OSGiServiceCapabilityTracker.java:155) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:318) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261) >>>>>>>>> at >>>>>>>>> org.wso2.carbon.kernel.internal.startupresolver.OSGiServiceCapabilityTracker.startTracker(OSGiServiceCapabilityTracker.java:68) >>>>>>>>> at >>>>>>>>> org.wso2.carbon.kernel.internal.startupresolver.StartupOrderResolver.startCapabilityTrackers(StartupOrderResolver.java:183) >>>>>>>>> at >>>>>>>>> org.wso2.carbon.kernel.internal.startupresolver.StartupOrderResolver.start(StartupOrderResolver.java:123) >>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>>>>> at >>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >>>>>>>>> at >>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:497) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:235) >>>>>>>>> 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.buildNewlySatisfied(Resolver.java:473) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70) >>>>>>>>> >>>>>>>>> [2016-05-07 20:21:11,983] ERROR {org.wso2.carbon.core} - >>>>>>>>> FrameworkEvent ERROR - org.wso2.carbon.core >>>>>>>>> org.wso2.carbon.kernel.internal.startupresolver.StartOrderResolverException: >>>>>>>>> componentName value is missing in the services registered with the key >>>>>>>>> org.wso2.carbon.kernel.startupresolver.RequiredCapabilityListener, >>>>>>>>> implementation class name is >>>>>>>>> org.wso2.carbon.datasource.core.internal.DataSourceListenerComponent >>>>>>>>> at >>>>>>>>> org.wso2.carbon.kernel.internal.startupresolver.OSGiServiceCapabilityTracker$CapabilityServiceTrackerCustomizer.addingService(OSGiServiceCapabilityTracker.java:142) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:914) >>>>>>>>> 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:862) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.InstanceProcess.registerService(InstanceProcess.java:536) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:213) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70) >>>>>>>>> >>>>>>>>> [2016-05-07 20:21:11,994] ERROR {org.wso2.carbon.core} - >>>>>>>>> FrameworkEvent ERROR - org.wso2.carbon.core >>>>>>>>> org.wso2.carbon.kernel.internal.startupresolver.StartOrderResolverException: >>>>>>>>> componentName value is missing in the services registered with the key >>>>>>>>> org.wso2.carbon.kernel.startupresolver.RequiredCapabilityListener, >>>>>>>>> implementation class name is >>>>>>>>> org.wso2.carbon.deployment.engine.internal.DeploymentEngineListenerComponent >>>>>>>>> at >>>>>>>>> org.wso2.carbon.kernel.internal.startupresolver.OSGiServiceCapabilityTracker$CapabilityServiceTrackerCustomizer.addingService(OSGiServiceCapabilityTracker.java:142) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:914) >>>>>>>>> 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:862) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.InstanceProcess.registerService(InstanceProcess.java:536) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:213) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70) >>>>>>>>> >>>>>>>>> [2016-05-07 20:21:12,055] ERROR {org.wso2.carbon.core} - >>>>>>>>> FrameworkEvent ERROR - org.wso2.carbon.core >>>>>>>>> org.wso2.carbon.kernel.internal.startupresolver.StartOrderResolverException: >>>>>>>>> componentName value is missing in the services registered with the key >>>>>>>>> org.wso2.carbon.kernel.startupresolver.RequiredCapabilityListener, >>>>>>>>> implementation class name is >>>>>>>>> org.wso2.msf4j.internal.MicroservicesServerSC >>>>>>>>> at >>>>>>>>> org.wso2.carbon.kernel.internal.startupresolver.OSGiServiceCapabilityTracker$CapabilityServiceTrackerCustomizer.addingService(OSGiServiceCapabilityTracker.java:142) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:914) >>>>>>>>> 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:862) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.InstanceProcess.registerService(InstanceProcess.java:536) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:213) >>>>>>>>> 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:109) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:914) >>>>>>>>> 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:862) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:482) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:998) >>>>>>>>> at >>>>>>>>> org.wso2.carbon.transport.http.netty.internal.NettyTransportActivator.start(NettyTransportActivator.java:44) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) >>>>>>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319) >>>>>>>>> at org.eclipse.osgi.container.Module.doStart(Module.java:571) >>>>>>>>> at org.eclipse.osgi.container.Module.start(Module.java:439) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:393) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:412) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.simpleconfigurator.ConfigApplier.startBundles(ConfigApplier.java:438) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.simpleconfigurator.ConfigApplier.install(ConfigApplier.java:111) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.simpleconfigurator.SimpleConfiguratorImpl.applyConfiguration(SimpleConfiguratorImpl.java:191) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.simpleconfigurator.SimpleConfiguratorImpl.applyConfiguration(SimpleConfiguratorImpl.java:205) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.simpleconfigurator.Activator.start(Activator.java:60) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) >>>>>>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319) >>>>>>>>> at org.eclipse.osgi.container.Module.doStart(Module.java:571) >>>>>>>>> at org.eclipse.osgi.container.Module.start(Module.java:439) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:393) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:412) >>>>>>>>> at >>>>>>>>> org.wso2.carbon.launcher.CarbonServer.loadInitialBundles(CarbonServer.java:242) >>>>>>>>> at >>>>>>>>> org.wso2.carbon.launcher.CarbonServer.start(CarbonServer.java:83) >>>>>>>>> at org.wso2.carbon.launcher.Main.main(Main.java:82) >>>>>>>>> >>>>>>>>> [2016-05-07 20:21:12,079] ERROR {org.wso2.carbon.core} - >>>>>>>>> FrameworkEvent ERROR - org.wso2.carbon.core >>>>>>>>> org.wso2.carbon.kernel.internal.startupresolver.StartOrderResolverException: >>>>>>>>> componentName value is missing in the services registered with the key >>>>>>>>> org.wso2.carbon.kernel.startupresolver.RequiredCapabilityListener, >>>>>>>>> implementation class name is >>>>>>>>> org.wso2.carbon.transport.http.netty.internal.NettyTransportServiceComponent >>>>>>>>> at >>>>>>>>> org.wso2.carbon.kernel.internal.startupresolver.OSGiServiceCapabilityTracker$CapabilityServiceTrackerCustomizer.addingService(OSGiServiceCapabilityTracker.java:142) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:914) >>>>>>>>> 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:862) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.InstanceProcess.registerService(InstanceProcess.java:536) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:213) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70) >>>>>>>>> >>>>>>>>> [2016-05-07 20:21:12,080] ERROR {org.wso2.carbon.core} - >>>>>>>>> FrameworkEvent ERROR - org.wso2.carbon.core >>>>>>>>> org.wso2.carbon.kernel.internal.startupresolver.StartOrderResolverException: >>>>>>>>> capabilityName value is missing in the services registered with the >>>>>>>>> key >>>>>>>>> org.wso2.carbon.kernel.startupresolver.CapabilityProvider, >>>>>>>>> implementation >>>>>>>>> class name is >>>>>>>>> org.wso2.carbon.transport.http.netty.internal.TransportServiceCapabilityProvider >>>>>>>>> at >>>>>>>>> org.wso2.carbon.kernel.internal.startupresolver.OSGiServiceCapabilityTracker$CapabilityServiceTrackerCustomizer.addingService(OSGiServiceCapabilityTracker.java:155) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) >>>>>>>>> at >>>>>>>>> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:914) >>>>>>>>> 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:862) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) >>>>>>>>> at >>>>>>>>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.InstanceProcess.registerService(InstanceProcess.java:536) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:213) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89) >>>>>>>>> at >>>>>>>>> org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70) >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Hasitha. >>>>>>>>> >>>>>>>>> -- >>>>>>>>> -- >>>>>>>>> Hasitha Aravinda, >>>>>>>>> Senior Software Engineer, >>>>>>>>> WSO2 Inc. >>>>>>>>> Email: [email protected] >>>>>>>>> Mobile : +94 718 210 200 >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Dev mailing list >>>>>>>>> [email protected] >>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> *Niranjan Karunanandham* >>>>>>>> Senior Software Engineer - WSO2 Inc. >>>>>>>> WSO2 Inc.: http://www.wso2.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/ >>>>>>> * <http://www.apache.org/>* >>>>>>> *email: **[email protected]* <[email protected]> >>>>>>> * cell: +94 77 3320919 <%2B94%2077%203320919>blog: * >>>>>>> *http://blog.afkham.org* <http://blog.afkham.org> >>>>>>> *twitter: **http://twitter.com/afkham_azeez* >>>>>>> <http://twitter.com/afkham_azeez> >>>>>>> *linked-in: **http://lk.linkedin.com/in/afkhamazeez >>>>>>> <http://lk.linkedin.com/in/afkhamazeez>* >>>>>>> >>>>>>> *Lean . Enterprise . Middleware* >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> >>>>>> *Niranjan Karunanandham* >>>>>> Senior Software Engineer - WSO2 Inc. >>>>>> WSO2 Inc.: http://www.wso2.com >>>>>> >>>>>> _______________________________________________ >>>>>> Dev mailing list >>>>>> [email protected] >>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Nandika Jayawardana >>>>> WSO2 Inc ; http://wso2.com >>>>> lean.enterprise.middleware >>>>> >>>> >>>> >>>> >>>> -- >>>> >>>> *Niranjan Karunanandham* >>>> Senior Software Engineer - WSO2 Inc. >>>> WSO2 Inc.: http://www.wso2.com >>>> >>>> _______________________________________________ >>>> Dev mailing list >>>> [email protected] >>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>> >>>> >>> >>> >>> -- >>> *Senduran * >>> Software Engineer, >>> WSO2, Inc.; http://wso2.com/ <http://wso2.com/> >>> Mobile: +94 77 952 6548 >>> >> >> >> >> -- >> >> *Niranjan Karunanandham* >> Senior Software Engineer - WSO2 Inc. >> WSO2 Inc.: http://www.wso2.com >> > > > > -- > > *Niranjan Karunanandham* > Senior Software Engineer - WSO2 Inc. > WSO2 Inc.: http://www.wso2.com > -- *Niranjan Karunanandham* Senior Software Engineer - WSO2 Inc. WSO2 Inc.: http://www.wso2.com
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
