+1 for RabbitMQ. Seems like it's non-Java and hopefully lightweight.

On Mon, Mar 17, 2014 at 10:55 AM, chris snow <chsnow...@gmail.com> wrote:

> Is RabbbitMQ the simplest to setup? i.e. just install the OS package
> ("apt-get install rabbitmq-server") and then configure stratos to use
> it?
>
>
> On Mon, Mar 17, 2014 at 1:36 PM, Isuru Perera <isu...@wso2.com> wrote:
> > I think running an ActiveMQ or a RabbitMQ along with Stratos single pack
> > would be okay.
> >
> > Integrating MB features to Stratos will bring unnecessary complications.
> > Having MB within CC was one of the limitations to upgrade jclouds
> libraries
> > when we were doing Stratos 3.0.0-incubating release.
> >
> > There is nothing much to configure in Message Broker. IMO we don't need
> to
> > integrate MB into Stratos for now.
> >
> > On Mon, Mar 17, 2014 at 6:35 PM, Pradeep Fernando <pradee...@gmail.com>
> > wrote:
> >>
> >> So the remaining bit is MB.
> >>
> >> We need to integrate WSO2 MB or ActiveMQ.
> >>
> >> @Shaheed : will get back to you with answers. :) sorry im bit busy at
> the
> >> moment.
> >>
> >> thanks
> >>
> >>
> >> On Mon, Mar 17, 2014 at 6:33 PM, Pradeep Fernando <pradee...@gmail.com>
> >> wrote:
> >>>
> >>> Hi Guys,
> >>>
> >>> Now the server starts fine with as + cc + sm + cep
> >>>
> >>> I managed to workaround the classloading issue, by renaming stub
> >>> packages. Right now im encountering a CNF due to jcloud class
> >>> unavailability. Its a pretty straightforward fix.
> >>>
> >>> [2014-03-17 18:29:20,715] ERROR
> >>> {org.wso2.carbon.utils.deployment.Axis2ServiceRegistry} -  Error while
> >>> adding services from bundle :
> >>> org.apache.stratos.cloud.controller-4.0.0.SNAPSHOT
> >>> java.lang.NoClassDefFoundError:
> >>> org/jclouds/rest/ResourceNotFoundException
> >>>
> >>>     at java.lang.Class.forName0(Native Method)
> >>>     at java.lang.Class.forName(Class.java:247)
> >>>     at
> >>>
> org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.<init>(DefaultSchemaGenerator.java:140)
> >>>     at
> >>> org.apache.axis2.deployment.util.Utils.fillAxisService(Utils.java:453)
> >>>     at
> >>>
> org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:397)
> >>>     at
> >>>
> org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup(ServiceGroupBuilder.java:101)
> >>>     at
> >>>
> org.wso2.carbon.utils.deployment.Axis2ServiceRegistry.addServices(Axis2ServiceRegistry.java:217)
> >>>     at
> >>>
> org.wso2.carbon.utils.deployment.Axis2ServiceRegistry.register(Axis2ServiceRegistry.java:102)
> >>>     at
> >>>
> org.wso2.carbon.utils.deployment.Axis2ServiceRegistry.register(Axis2ServiceRegistry.java:89)
> >>>     at
> >>>
> org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:473)
> >>>     at
> >>>
> org.wso2.carbon.core.init.CarbonServerManager.start(CarbonServerManager.java:219)
> >>>     at
> >>>
> org.wso2.carbon.core.internal.CarbonCoreServiceComponent.activate(CarbonCoreServiceComponent.java:77)
> >>>     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.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:347)
> >>>     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:1267)
> >>>     at
> >>>
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1186)
> >>>     at
> >>>
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1081)
> >>>     at
> >>>
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
> >>>     at
> >>>
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
> >>>     at
> >>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> >>>     at
> >>>
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
> >>>     at
> >>>
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
> >>>     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:886)
> >>>     at
> >>>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> >>>     at java.lang.Thread.run(Thread.java:662)
> >>> Caused by: java.lang.ClassNotFoundException:
> >>> org.jclouds.rest.ResourceNotFoundException
> >>>     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)
> >>>     ... 49 more
> >>> [2014-03-17 18:29:20,726]  INFO
> >>> {org.wso2.carbon.core.deployment.DeploymentInterceptor} -  Deploying
> Axis2
> >>> service: InstanceCleanupNotificationService {super-tenant}
> >>> [2014-03-17 18:29:21,465]  INFO
> >>> {org.wso2.carbon.core.init.CarbonServerManager} -  Repository       :
> >>>
> /home/pradeep/checkout/stratos-profile/products/stratos/modules/distribution/target/apache-stratos-4.0.0-SNAPSHOT/repository/deployment/server/
> >>> [2014-03-17 18:29:21,748]  INFO
> >>> {org.wso2.carbon.core.internal.permission.update.PermissionUpdater} -
> >>> Permission cache updated for tenant -1234
> >>> [2014-03-17 18:29:21,904]  INFO
> >>>
> {org.wso2.carbon.databridge.receiver.thrift.internal.ThriftDataReceiver} -
> >>> Thrift Server started at 10.100.1.80
> >>> [2014-03-17 18:29:21,923]  INFO
> >>>
> {org.wso2.carbon.databridge.receiver.thrift.internal.ThriftDataReceiver} -
> >>> Thrift SSL port : 7711
> >>> [2014-03-17 18:29:21,925]  INFO
> >>>
> {org.wso2.carbon.databridge.receiver.thrift.internal.ThriftDataReceiver} -
> >>> Thrift port : 7611
> >>> [2014-03-17 18:29:21,958]  INFO
> >>>
> {org.wso2.carbon.event.input.adaptor.wsevent.local.internal.ds.WSEventLocalEventAdaptorServiceDS}
> >>> -  Successfully deployed the input WSEventLocal adaptor service
> >>> [2014-03-17 18:29:21,962]  INFO
> >>>
> {org.wso2.carbon.event.output.adaptor.wsevent.local.internal.ds.WSEventLocalEventAdaptorServiceDS}
> >>> -  Successfully deployed the output WSEventLocal adaptor service
> >>> [2014-03-17 18:29:21,976]  INFO
> >>>
> {org.wso2.carbon.event.input.adaptor.email.internal.ds.EmailEventAdaptorServiceDS}
> >>> -  Successfully deployed the input email event service
> >>> [2014-03-17 18:29:21,983]  INFO
> >>>
> {org.wso2.carbon.event.input.adaptor.wsevent.internal.ds.WSEventAdaptorServiceDS}
> >>> -  Successfully deployed the input WSEvent adaptor service
> >>> [2014-03-17 18:29:21,993]  INFO
> >>>
> {org.wso2.carbon.event.output.adaptor.email.internal.ds.EmailEventAdaptorServiceDS}
> >>> -  Successfully deployed the output Email event adaptor service
> >>> [2014-03-17 18:29:22,002]  INFO
> >>>
> {org.wso2.carbon.event.output.adaptor.sms.internal.ds.SMSEventAdaptorServiceDS}
> >>> -  Successfully deployed the output SMS event adaptor service
> >>> [2014-03-17 18:29:22,011]  INFO
> >>>
> {org.wso2.carbon.event.output.adaptor.wsevent.internal.ds.WSEventAdaptorServiceDS}
> >>> -  Successfully deployed the output WSEvent adaptor service
> >>> [2014-03-17 18:29:22,026]  INFO
> >>>
> {org.wso2.stratos.identity.saml2.sso.mgt.SSOServiceProviderUpdateManager} -
> >>> A SSO Service Provider is registered for : console
> >>> [2014-03-17 18:29:22,060] ERROR
> >>> {org.wso2.stratos.identity.saml2.sso.mgt.ui.Util} -  The configuration
> >>> element 'TenantRegistrationPage' not found in
> >>>
> '/home/pradeep/checkout/stratos-profile/products/stratos/modules/distribution/target/apache-stratos-4.0.0-SNAPSHOT/repository/conf/sso-idp-config.xml'
> >>> [2014-03-17 18:29:22,133]  INFO
> >>> {org.wso2.carbon.core.transports.http.HttpsTransportListener} -  HTTPS
> port
> >>> : 9443
> >>> [2014-03-17 18:29:22,133]  INFO
> >>> {org.wso2.carbon.core.transports.http.HttpTransportListener} -  HTTP
> port
> >>> : 9763
> >>> [2014-03-17 18:29:22,138]  INFO
> >>> {org.apache.tomcat.util.net.NioSelectorPool} -  Using a shared
> selector for
> >>> servlet write/read
> >>> [2014-03-17 18:29:22,154]  INFO
> >>> {org.apache.tomcat.util.net.NioSelectorPool} -  Using a shared
> selector for
> >>> servlet write/read
> >>> [2014-03-17 18:29:22,193]  INFO
> >>> {org.wso2.carbon.ntask.core.service.impl.TaskServiceImpl} -  Task
> service
> >>> starting in STANDALONE mode...
> >>> [2014-03-17 18:29:22,202]  INFO
> >>> {org.apache.stratos.manager.utils.CartridgeConfigFileReader} -  Setting
> >>> config properties into System properties
> >>> [2014-03-17 18:29:22,225]  INFO
> >>> {org.apache.stratos.manager.internal.ADCManagementServerComponent} -
> >>> Topology receiver thread started
> >>> [2014-03-17 18:29:22,226]  INFO
> >>>
> {org.apache.stratos.manager.topology.receiver.StratosManagerTopologyReceiver}
> >>> -  Stratos Manager topology receiver thread started
> >>> [2014-03-17 18:29:22,231]  INFO
> >>> {org.apache.stratos.manager.internal.ADCManagementServerComponent} -
>  ADC
> >>> management server component is activated
> >>> [2014-03-17 18:29:22,255]  INFO
> >>> {org.wso2.carbon.core.init.JMXServerManager} -  JMX Service URL  :
> >>> service:jmx:rmi://localhost:11111/jndi/rmi://localhost:9999/jmxrmi
> >>> [2014-03-17 18:29:22,275]  INFO
> >>> {org.wso2.carbon.ntask.core.impl.AbstractQuartzTaskManager} -  Task
> >>> scheduled: [-1234][TENANT_SYNC_TASK_TYPE][TENANT_SYNC_TASK]
> >>> [2014-03-17 18:29:22,275]  INFO
> >>> {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent} -
>  Server
> >>> :  Apache Stratos Controller-4.0.0-SNAPSHOT
> >>> [2014-03-17 18:29:22,275]  INFO
> >>> {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent} -
>  WSO2
> >>> Carbon started in 55 sec
> >>> [2014-03-17 18:29:22,430]  INFO
> >>> {org.wso2.carbon.ui.internal.CarbonUIServiceComponent} -  Mgt Console
> URL  :
> >>> https://10.100.1.80:9443/carbon/
> >>> [2014-03-17 18:29:22,521]  INFO
> >>> {org.wso2.andes.client.security.DynamicSaslRegistrar} -  Additional
> SASL
> >>> providers successfully registered.
> >>> [2014-03-17 18:29:22,522]  INFO
> >>> {org.wso2.andes.client.security.CallbackHandlerRegistry} -  Callback
> >>> handlers available for SASL mechanisms: CRAM-MD5 CRAM-MD5-HASHED
> AMQPLAIN
> >>> PLAIN
> >>> [2014-03-17 18:29:22,535]  WARN {org.wso2.andes.common.QpidProperties}
> -
> >>> Unable to find resource qpidversion.properties from classloader
> >>>
> >>>
> >>> On Mon, Mar 17, 2014 at 4:15 PM, Shaheed Haque <shahh...@cisco.com>
> >>> wrote:
> >>>>
> >>>> Hi Pradeep,
> >>>>
> >>>>
> >>>>
> >>>> I *think* I am interested in this topic and am new to this domain, but
> >>>> from the archives, I'm not 100% of the original goals of this work.
> >>>>
> >>>>
> >>>>
> >>>> Also, if the idea is to ship in 4.0.0, how can we take advantage of
> your
> >>>> work: do we still use the same CLIs to start the processes or what? I
> see
> >>>> some mention of profiles and pre-built VMs, but am unclear how they
> relate
> >>>> to this.
> >>>>
> >>>>
> >>>>
> >>>> Can you clarify please? Is there a JIRA/spec for this feature I can
> >>>> read?
> >>>>
> >>>>
> >>>>
> >>>> Thanks, Shaheed
> >>>>
> >>>>
> >>>>
> >>>> On Monday 17 March 2014 06:17:01 Sanjiva Weerawarana wrote:
> >>>>
> >>>> Interesting ... it would be cool to combine these with something like
> >>>> rPath to build a minimal Linux image with just the exact bits in it.
> Looks
> >>>> like rPath is gone - what's the way people build custom images now?
> Or is
> >>>> that gone with just more memory and more disk being normal??
> >>>>
> >>>>
> >>>>
> >>>> On Sun, Mar 16, 2014 at 10:34 PM, chris snow <chsnow...@gmail.com>
> >>>> wrote:
> >>>>
> >>>> Hi Sanjiva,
> >>>>
> >>>> Vagrant works on top of an existing image (box). There are plenty of
> >>>> boxes for vagrant. Ubuntu for example provides vagrant boxes [1],
> although
> >>>> the disk size is a little small to be useful.   Opscode also  provide
> some
> >>>> pretty good boxes [2]. If these still don't meet your needs, you can
> copy
> >>>> the packer definitions from opscode and modify them to build your own
> box
> >>>> from scratch [3]. Packer is definitely worth a look too.
> >>>>
> >>>> Many thanks,
> >>>>
> >>>> Chris
> >>>>
> >>>> ---
> >>>> [1] http://cloud-images.ubuntu.com/vagrant/
> >>>> [2] https://github.com/opscode/bento
> >>>> [3] https://github.com/opscode/bento/tree/master/packer
> >>>> [4] http://packer.io
> >>>>
> >>>> On 16 Mar 2014 15:27, "Sanjiva Weerawarana" <sanj...@wso2.com> wrote:
> >>>>
> >>>> Hey Chris - that's awesome .. totally +1 for having vagrant scripts as
> >>>> well!
> >>>>
> >>>>
> >>>> I'm not familiar with vagrant - just checking it out. Does it build a
> VM
> >>>> image or does it set up the environment to run the image?
> >>>>
> >>>>
> >>>> Sanjiva.
> >>>>
> >>>>
> >>>>
> >>>> On Sat, Mar 15, 2014 at 1:06 PM, chris snow <chsnow...@gmail.com>
> wrote:
> >>>>
> >>>> Hi Sanjiva,
> >>>>
> >>>> For VM images, vagrant makes life very easy for users; setting up
> disks,
> >>>> setting up network cards, setting up memory, configuring guest proxy
> >>>> settings, running provisioning scripts, etc.
> >>>>
> >>>> I am working on a vagrant setup of cloudstack + Stratos.  My project
> is
> >>>> here [1]. It isn't ready for general use yet, but I'm making good
> progress.
> >>>> Although my scripts are buggy, with a few commands I can checkout,
> build and
> >>>> provision a cloudstack developer environment.  I am now working on the
> >>>> scripts to do the same for Stratos.
> >>>>
> >>>> Initially, the memory requirements will be high on my environment, but
> >>>> for me the first goal is automation, the next goal will be efficiency.
> >>>>
> >>>> Many thanks,
> >>>> Chris
> >>>>
> >>>> ---
> >>>> [1] https://github.com/snowch/devcloud-script
> >>>>
> >>>> On 15 Mar 2014 06:24, "Sanjiva Weerawarana" <sanj...@wso2.com> wrote:
> >>>>
> >>>> I think right now we need to focus on getting a single trivial server
> >>>> mechanism to be able to run Stratos without too much of stuff having
> to be
> >>>> set up. I'd love to see two developer distros:
> >>>>
> >>>>
> >>>> - a VM image that has everything in it and runs in under 4GB with
> >>>> OpenStack + Docker. It doesn't matter whether this uses one Carbon
> server to
> >>>> run it all or whether we use RabbitMQ or other AMQP broker. (Carbon
> stuff
> >>>> HAS to run in one server - else its a bug in those products .. so the
> >>>> decision should not be based on ability to run in one JVM but rather
> just
> >>>> making it dirt simple to use.) This distro needs to be in 4.0.0 - I
> think
> >>>> we're nearly there for it.
> >>>>
> >>>>
> >>>> - next is a "no-IaaS-IaaS" based distro. That, we write a direct
> plugin
> >>>> to jClouds that spins up Docker images as processes and there's one
> JVM that
> >>>> works as the SM+CC+LB+AS+all. Thus the download becomes one JVM plus
> a URL
> >>>> to a Docker image registry from which the images are booted up and run
> >>>> (obviously a local registry will do better). We don't have this
> no-IaaS-IaaS
> >>>> yet so this can come maybe as 4.1.0 or whatever (its not that hard to
> make
> >>>> it work).
> >>>>
> >>>>
> >>>> For production deployments obviously this one server stuff is nonsense
> >>>> .. so we need to have full decoupled distributed execution. For that
> we
> >>>> should ship puppet scripts to get them up and running plus maybe Boto
> >>>> scripts for someone to get it all up on EC2 with one command. Again
> its
> >>>> totally fine to use whatever broker here and whatever other pluggable
> >>>> components people want to use (and we need to make sure all the parts
> are
> >>>> pluggable: load balancers, message broker, the CEP engine, etc.)).
> >>>>
> >>>>
> >>>> Makes sense?
> >>>>
> >>>>
> >>>> Sanjiva.
> >>>>
> >>>>
> >>>>
> >>>> On Fri, Mar 14, 2014 at 7:59 PM, Pradeep Fernando <
> pradee...@gmail.com>
> >>>> wrote:
> >>>>
> >>>> Hi Chris,
> >>>>
> >>>> Yes good point. Other day Azeez did the same suggestion.
> >>>>
> >>>> Thanks
> >>>>
> >>>> --Pradeep
> >>>> sent from my phone
> >>>>
> >>>> On Mar 14, 2014 3:47 PM, "chris snow" <chsnow...@gmail.com> wrote:
> >>>>
> >>>> Hi Pradeep - I don't know enough about how the profiles work to have a
> >>>> view on that :(
> >>>>
> >>>> One thing I'm wondering though is how much memory will be saved if we
> >>>> use RabbitMQ (or another MQ) instead of MB?
> >>>>
> >>>> On Fri, Mar 14, 2014 at 10:10 AM, Pradeep Fernando <
> pradee...@gmail.com>
> >>>> wrote:
> >>>> > btw,
> >>>> >
> >>>> > Now im working on MB and CEP bits.
> >>>> >
> >>>> > IMHO, we should not create MB and CEP only profiles in stratos.
> >>>> > However,
> >>>> > adding MB/CEP features (the ones that we use) to default profile
> (the
> >>>> > profile that has all) makes sense.
> >>>> >
> >>>> > WDYT?
> >>>> >
> >>>> > Are we all on same page..
> >>>> >
> >>>> > thanks
> >>>> >
> >>>> >
> >>>> > On Fri, Mar 14, 2014 at 3:32 PM, chris snow <chsnow...@gmail.com>
> >>>> > wrote:
> >>>> >>
> >>>> >> Hey Pradeep - this is exciting stuff!  Looking forward to your
> >>>> >> findings!
> >>>> >>
> >>>> >> On Wed, Mar 12, 2014 at 5:31 PM, Pradeep Fernando
> >>>> >> <pradee...@gmail.com>
> >>>> >> wrote:
> >>>> >> > Hi Guys,
> >>>> >> >
> >>>> >> > I started on the $subject. This thread is to track the progress..
> >>>> >> >
> >>>> >> > thanks,
> >>>> >> >
> >>>> >> >
> >>>> >> > --
> >>>> >> > Pradeep Fernando.
> >>>> >> > http://pradeepfernando.blogspot.com/
> >>>> >>
> >>>> >>
> >>>> >>
> >>>> >> --
> >>>> >> Check out my professional profile and connect with me on LinkedIn.
> >>>> >> http://lnkd.in/cw5k69
> >>>> >
> >>>> >
> >>>> >
> >>>> >
> >>>> > --
> >>>> > Pradeep Fernando.
> >>>> > http://pradeepfernando.blogspot.com/
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Check out my professional profile and connect with me on LinkedIn.
> >>>> http://lnkd.in/cw5k69
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>>
> >>>> Sanjiva Weerawarana, Ph.D.
> >>>> Founder, Chairman & CEO; WSO2, Inc.;  http://wso2.com/
> >>>> email: sanj...@wso2.com; office: (+1 650 745 4499 | +94 11 214 5345)
> >>>> x5700; cell: +94 77 787 6880 | +1 408 466 5099; voip: +1 650 265 8311
> >>>> blog: http://sanjiva.weerawarana.org/; twitter: @sanjiva
> >>>> Lean . Enterprise . Middleware
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>>
> >>>> Sanjiva Weerawarana, Ph.D.
> >>>> Founder, Chairman & CEO; WSO2, Inc.;  http://wso2.com/
> >>>> email: sanj...@wso2.com; office: (+1 650 745 4499 | +94 11 214 5345)
> >>>> x5700; cell: +94 77 787 6880 | +1 408 466 5099; voip: +1 650 265 8311
> >>>> blog: http://sanjiva.weerawarana.org/; twitter: @sanjiva
> >>>> Lean . Enterprise . Middleware
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>>
> >>>> Sanjiva Weerawarana, Ph.D.
> >>>> Founder, Chairman & CEO; WSO2, Inc.;  http://wso2.com/
> >>>> email: sanj...@wso2.com; office: (+1 650 745 4499 | +94 11 214 5345)
> >>>> x5700; cell: +94 77 787 6880 | +1 408 466 5099; voip: +1 650 265 8311
> >>>> blog: http://sanjiva.weerawarana.org/; twitter: @sanjiva
> >>>> Lean . Enterprise . Middleware
> >>>>
> >>>>
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> Pradeep Fernando.
> >>> http://pradeepfernando.blogspot.com/
> >>
> >>
> >>
> >>
> >> --
> >> Pradeep Fernando.
> >> http://pradeepfernando.blogspot.com/
> >
> >
> >
> >
> > --
> > Isuru Perera
> > Senior Software Engineer | WSO2, Inc. | http://wso2.com/
> >
> > Lean . Enterprise . Middleware
> >
> > about.me/chrishantha
>
>
>
> --
> Check out my professional profile and connect with me on LinkedIn.
> http://lnkd.in/cw5k69
>



-- 
Best Regards,
Nirmal

Nirmal Fernando.
PPMC Member & Committer of Apache Stratos,
Senior Software Engineer, WSO2 Inc.

Blog: http://nirmalfdo.blogspot.com/

Reply via email to