Hi, Imesh But in the page #4, you did not mention that we have to use the thirdparty LB? would like to double check, without thirdparty LB, can Stratos LB realize the Dynamic LB with auto-scaling?
http://www.slideshare.net/imesh/apache-stratos-410-architecture Thanks -D On Mon, Jun 29, 2015 at 6:52 PM, Imesh Gunaratne <im...@apache.org> wrote: > In addition to above messaging filters I have now added application filter: > > Commit Revision: > > https://github.com/apache/stratos/commit/b7897af9c971dc51944ff5dacf6118a349f4a2bc > > Application Filter - By Application ID > -Dstratos.topology.application.filter=application-id=APP1,APP2 > > > https://github.com/apache/stratos/blob/master/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/filter/topology/TopologyApplicationFilter.java > > Thanks > > On Tue, Jun 30, 2015 at 6:31 AM, Imesh Gunaratne <im...@apache.org> wrote: > >> Thanks! Yes, we will be updating those pages soon. >> >> On Mon, Jun 29, 2015 at 11:35 PM, David Hbase <davidhb...@gmail.com> >> wrote: >> >>> It's a great architecture instruction. I think the Dynamic LB is the >>> core function with Stratos. >>> >>> Would like to know if someone can update the Stratos-HAProxy [1] detail >>> as step by step instruction ASAP? >>> [1] >>> https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Configuring+HAProxy+Load+Balancer >>> >>> Also I believe the [2] architecture is a good sample to understand how >>> the Stratos LB working, If anyone can update it to Stratos 4.1.0 ? >>> [2] >>> https://cwiki.apache.org/confluence/display/STRATOS/4.0.0+Load+Balancers >>> >>> Thanks >>> -D >>> >>> >>> >>> >>> >>> On Mon, Jun 29, 2015 at 10:20 AM, Imesh Gunaratne <im...@apache.org> >>> wrote: >>> >>>> Hi David, >>>> >>>> On Mon, Jun 29, 2015 at 6:52 PM, David Hbase <davidhb...@gmail.com> >>>> wrote: >>>>> >>>>> >>>>> 1. How can we setup the *listening ports* and *proxy the requests* >>>>> with Stratos LB Dynamically? >>>>> >>>> >>>> In Stratos Load Balancer we cannot dynamically bind HTTP/HTTPS >>>> listening ports. However they can be changed by updating the axis2.xml >>>> found in repository/conf/axis2 folder. >>>> >>>> >>>>> Can we use the Dedicated Stratos LB server's network interface to >>>>> proxy all the requests? etc install and start Apache/httpd service to set >>>>> the listening ports and let Stratos LB perform the proxy functions? Or we >>>>> have to install a third party LB ( HAproxy, mod_proxy, nginx) to proxy the >>>>> requests? >>>>> >>>> >>>> Yes we can, to do this we need to use the Stratos Load Balancer in >>>> static mode. Then it would not listen to message broker and automatically >>>> configure its load balancing topology. Nevertheless I would recommend >>>> HAproxy, mod_proxy or nginx for this purpose. >>>> >>>>> >>>>> 2. If we have to install a third party LB, how can Stratos LB API >>>>> communicate with others LBs? Is there any successful case that I can >>>>> reference for setup? ( Currently I found a doc about Stratos-HAproxy >>>>> setup, >>>>> but still not clear the API functions) >>>>> >>>>> Stratos load balancer API does not communicate with other load >>>> balancers. Please see slide 5 of [1] for the load balancer extension >>>> architecture. >>>> >>>> How it works is that load balancer extension listen to couple of >>>> message broker topics and generates the required load balancing topology. >>>> Then it invokes configure(topology) method to provide the topology to the >>>> specific load balancer extension implementation. According to the third >>>> party load balancer the load balancer extension implementation will >>>> generate the relevant load balancer configuration and reloads it. >>>> >>>> [1] http://www.slideshare.net/imesh/apache-stratos-410-architecture >>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> On Mon, Jun 29, 2015 at 5:07 AM, Imesh Gunaratne <im...@apache.org> >>>>> wrote: >>>>> >>>>>> Hi David, >>>>>> >>>>>> Following system properties can be set in load balancer for >>>>>> configuring dedicated load balancing: >>>>>> >>>>>> 1. Member Filter - By Network Partition >>>>>> -Dstratos.topology.member.filter=network-partition-id=NP1,NP2 >>>>>> >>>>>> >>>>>> https://github.com/apache/stratos/blob/master/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/filter/topology/TopologyMemberFilter.java >>>>>> >>>>>> 2. Cluster Filter - By Cluster ID >>>>>> -Dstratos.topology.cluster.filter=cluster-id=C1,C2 >>>>>> >>>>>> >>>>>> https://github.com/apache/stratos/blob/master/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/filter/topology/TopologyClusterFilter.java >>>>>> >>>>>> 3. Service Filter - By Service Name/Cartridge Type >>>>>> -Dstratos.topology.service.filter=service-name=PHP,Tomcat >>>>>> >>>>>> >>>>>> https://github.com/apache/stratos/blob/master/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/filter/topology/TopologyServiceFilter.java >>>>>> >>>>>> Thanks >>>>>> >>>>>> >>>>>> On Mon, Jun 29, 2015 at 2:03 AM, David Hbase <davidhb...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> The error has been fixed, but still issue: >>>>>>> >>>>>>> In my application: >>>>>>> Web Servers: Web1 and Web2 >>>>>>> Configured Dedicated Load balance L1 >>>>>>> (Following >>>>>>> https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Manually+Configuring+the+Stratos+Load+Balancer >>>>>>> ) >>>>>>> >>>>>>> Need balance Web1 and Web2 traffic, >>>>>>> 1. What the following steps? >>>>>>> >>>>>>> 2. If auto-scaling, How can we balance the Web3, Web4, ... Webn? >>>>>>> >>>>>>> 3. If the Web1, 2, 3, 4, ... n are running in the K8s-Container >>>>>>> what's the configurations need to be performed? >>>>>>> >>>>>>> Spend a while, but can't find out the exactly instruction. Need your >>>>>>> help. >>>>>>> For questions #1 and #2 are urgent, we have scheduled a POC next >>>>>>> week. >>>>>>> >>>>>>> Thanks >>>>>>> -D >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Sat, Jun 27, 2015 at 11:04 PM, Pubudu Gunatilaka < >>>>>>> pubu...@wso2.com> wrote: >>>>>>> >>>>>>>> Hi David, >>>>>>>> >>>>>>>> You have set up your message broker port as 7711 which is wrong. It >>>>>>>> should be 61616 and you can change that in jndi.properties file in >>>>>>>> <LB_HOME>/repository/conf/ directory. >>>>>>>> >>>>>>>> Thank you! >>>>>>>> >>>>>>>> On Sun, Jun 28, 2015 at 8:24 AM, David Hbase <davidhb...@gmail.com> >>>>>>>> wrote: >>>>>>>> > Hi, Mariangela >>>>>>>> > >>>>>>>> > Still not able to make Stratos LB work. >>>>>>>> > >>>>>>>> > Thanks >>>>>>>> > -D >>>>>>>> > >>>>>>>> > Log from agent.screen.log >>>>>>>> > 2015-06-27 21:52:32,871:DEBUG:Reading property: >>>>>>>> thrift.receiver.port = 7711 >>>>>>>> > 2015-06-27 21:52:32,873:INFO:Waiting for ports to be active: [ip] >>>>>>>> > '10.203.51.145' [ports] ['7711'] >>>>>>>> > 2015-06-27 21:52:32,874:DEBUG:Port '7711' is active >>>>>>>> > 2015-06-27 21:52:37,879:INFO:Ports activated: [ip] >>>>>>>> '10.203.51.145' [ports] >>>>>>>> > ['7711'] >>>>>>>> > 2015-06-27 21:52:37,881:DEBUG:Port '7711' is active >>>>>>>> > >>>>>>>> > Error log from Load Balancer: >>>>>>>> > JAVA_HOME environment variable is set to /usr >>>>>>>> > CARBON_HOME environment variable is set to >>>>>>>> > /opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT >>>>>>>> > [2015-06-28 00:07:01,090] INFO - CarbonCoreActivator Starting >>>>>>>> WSO2 >>>>>>>> > Carbon... >>>>>>>> > [2015-06-28 00:07:01,092] INFO - CarbonCoreActivator Operating >>>>>>>> System : >>>>>>>> > Linux 2.6.32-504.8.1.el6.x86_64, amd64 >>>>>>>> > [2015-06-28 00:07:01,092] INFO - CarbonCoreActivator Java Home >>>>>>>> : >>>>>>>> > /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64/jre >>>>>>>> > [2015-06-28 00:07:01,092] INFO - CarbonCoreActivator Java >>>>>>>> Version : >>>>>>>> > 1.7.0_79 >>>>>>>> > [2015-06-28 00:07:01,092] INFO - CarbonCoreActivator Java VM >>>>>>>> : >>>>>>>> > OpenJDK 64-Bit Server VM 24.79-b02,Oracle Corporation >>>>>>>> > [2015-06-28 00:07:01,092] INFO - CarbonCoreActivator Carbon >>>>>>>> Home : >>>>>>>> > /opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT >>>>>>>> > [2015-06-28 00:07:01,092] INFO - CarbonCoreActivator Java Temp >>>>>>>> Dir : >>>>>>>> > /opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT/tmp >>>>>>>> > [2015-06-28 00:07:01,092] INFO - CarbonCoreActivator User >>>>>>>> : >>>>>>>> > root, en-US, Zulu >>>>>>>> > [2015-06-28 00:07:01,152] WARN - SystemValidator Could not >>>>>>>> validate the >>>>>>>> > system for configuration parameter : CPU >>>>>>>> > [2015-06-28 00:07:01,154] WARN - ValidationResultPrinter The >>>>>>>> default >>>>>>>> > keystore (wso2carbon.jks) is currently being used. To maximize >>>>>>>> security when >>>>>>>> > deploying to a production environment, configure a new keystore >>>>>>>> with a >>>>>>>> > unique password in the production server profile. >>>>>>>> > [2015-06-28 00:07:01,154] WARN - ValidationResultPrinter Swap >>>>>>>> Memory size >>>>>>>> > (MB): 0 of the system is below the recommended minimum size :2048 >>>>>>>> > [2015-06-28 00:07:01,161] INFO - AgentHolder Agent created ! >>>>>>>> > [2015-06-28 00:07:01,179] INFO - AgentDS Successfully deployed >>>>>>>> Agent Client >>>>>>>> > [2015-06-28 00:07:02,563] INFO - EmbeddedRegistryService >>>>>>>> Configured >>>>>>>> > Registry in 60ms >>>>>>>> > [2015-06-28 00:07:02,708] INFO - RegistryCoreServiceComponent >>>>>>>> Registry Mode >>>>>>>> > : READ-WRITE >>>>>>>> > [2015-06-28 00:07:03,054] INFO - UserStoreMgtDSComponent Carbon >>>>>>>> > UserStoreMgtDSComponent activated successfully. >>>>>>>> > [2015-06-28 00:07:08,454] INFO - ClusterBuilder Clustering has >>>>>>>> been >>>>>>>> > disabled >>>>>>>> > [2015-06-28 00:07:08,785] INFO - CarbonAxisConfigurator No >>>>>>>> modules >>>>>>>> > directory was found under >>>>>>>> > >>>>>>>> /opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT/repository/deployment/server. >>>>>>>> > [2015-06-28 00:07:08,893] INFO - PassThroughHttpSSLSender >>>>>>>> Initializing >>>>>>>> > Pass-through HTTP/S Sender... >>>>>>>> > [2015-06-28 00:07:08,929] INFO - ClientConnFactoryBuilder HTTPS >>>>>>>> Loading >>>>>>>> > Identity Keystore from : >>>>>>>> repository/resources/security/wso2carbon.jks >>>>>>>> > [2015-06-28 00:07:08,934] INFO - ClientConnFactoryBuilder HTTPS >>>>>>>> Loading >>>>>>>> > Trust Keystore from : >>>>>>>> repository/resources/security/client-truststore.jks >>>>>>>> > [2015-06-28 00:07:08,997] INFO - PassThroughHttpSSLSender >>>>>>>> Pass-through >>>>>>>> > HTTPS Sender started... >>>>>>>> > [2015-06-28 00:07:08,997] INFO - PassThroughHttpSender >>>>>>>> Initializing >>>>>>>> > Pass-through HTTP/S Sender... >>>>>>>> > [2015-06-28 00:07:09,008] INFO - PassThroughHttpSender >>>>>>>> Pass-through HTTP >>>>>>>> > Sender started... >>>>>>>> > [2015-06-28 00:07:09,027] INFO - PassThroughHttpSSLListener >>>>>>>> Initializing >>>>>>>> > Pass-through HTTP/S Listener... >>>>>>>> > [2015-06-28 00:07:09,089] INFO - PassThroughHttpListener >>>>>>>> Initializing >>>>>>>> > Pass-through HTTP/S Listener... >>>>>>>> > [2015-06-28 00:07:09,280] INFO - ModuleDeployer Deploying module: >>>>>>>> > addressing-1.6.1-wso2v10 - >>>>>>>> > >>>>>>>> file:/opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT/repository/deployment/client/modules/addressing-1.6.1-wso2v10.mar >>>>>>>> > [2015-06-28 00:07:09,292] INFO - ModuleDeployer Deploying module: >>>>>>>> > rampart-1.6.1-wso2v1 - >>>>>>>> > >>>>>>>> file:/opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT/repository/deployment/client/modules/rampart-1.6.1-wso2v1.mar >>>>>>>> > [2015-06-28 00:07:09,302] INFO - TCPTransportSender TCP Sender >>>>>>>> started >>>>>>>> > [2015-06-28 00:07:10,441] INFO - CarbonServerManager Repository >>>>>>>> : >>>>>>>> > >>>>>>>> /opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT/repository/deployment/server/ >>>>>>>> > [2015-06-28 00:07:10,549] INFO - PermissionUpdater Permission >>>>>>>> cache updated >>>>>>>> > for tenant -1234 >>>>>>>> > [2015-06-28 00:07:10,605] INFO - ServiceBusInitializer Starting >>>>>>>> ESB... >>>>>>>> > [2015-06-28 00:07:10,623] INFO - ServiceBusInitializer >>>>>>>> Initializing Apache >>>>>>>> > Synapse... >>>>>>>> > [2015-06-28 00:07:10,628] INFO - SynapseControllerFactory Using >>>>>>>> Synapse >>>>>>>> > home : /opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT/. >>>>>>>> > [2015-06-28 00:07:10,628] INFO - SynapseControllerFactory Using >>>>>>>> synapse.xml >>>>>>>> > location : >>>>>>>> > >>>>>>>> /opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT/././repository/deployment/server/synapse-configs/default >>>>>>>> > [2015-06-28 00:07:10,628] INFO - SynapseControllerFactory Using >>>>>>>> server name >>>>>>>> > : localhost >>>>>>>> > [2015-06-28 00:07:10,638] INFO - SynapseControllerFactory The >>>>>>>> timeout >>>>>>>> > handler will run every : 15s >>>>>>>> > [2015-06-28 00:07:10,645] INFO - Axis2SynapseController >>>>>>>> Initializing >>>>>>>> > Synapse at : Sun Jun 28 00:07:10 UTC 2015 >>>>>>>> > [2015-06-28 00:07:10,654] INFO - CarbonSynapseController Loading >>>>>>>> the >>>>>>>> > mediation configuration from the file system >>>>>>>> > [2015-06-28 00:07:10,655] INFO - MultiXMLConfigurationBuilder >>>>>>>> Building >>>>>>>> > synapse configuration from the synapse artifact repository at : >>>>>>>> > ././repository/deployment/server/synapse-configs/default >>>>>>>> > [2015-06-28 00:07:10,666] INFO - XMLConfigurationBuilder >>>>>>>> Generating the >>>>>>>> > Synapse configuration model by parsing the XML configuration >>>>>>>> > [2015-06-28 00:07:10,923] INFO - SynapseConfigurationBuilder >>>>>>>> Loaded Synapse >>>>>>>> > configuration from the artifact repository at : >>>>>>>> > ././repository/deployment/server/synapse-configs/default >>>>>>>> > [2015-06-28 00:07:10,927] INFO - Axis2SynapseController Loading >>>>>>>> mediator >>>>>>>> > extensions... >>>>>>>> > [2015-06-28 00:07:10,927] INFO - Axis2SynapseController >>>>>>>> Deploying the >>>>>>>> > Synapse service... >>>>>>>> > [2015-06-28 00:07:10,929] INFO - Axis2SynapseController >>>>>>>> Deploying Proxy >>>>>>>> > services... >>>>>>>> > [2015-06-28 00:07:10,929] INFO - Axis2SynapseController Deploying >>>>>>>> > EventSources... >>>>>>>> > [2015-06-28 00:07:10,955] INFO - ServerManager Server ready for >>>>>>>> > processing... >>>>>>>> > [2015-06-28 00:07:11,003] INFO - LoadBalancerServiceComponent >>>>>>>> Load balancer >>>>>>>> > clustering is disabled >>>>>>>> > [2015-06-28 00:07:11,031] INFO - SynapseConfigurator Configuring >>>>>>>> synapse >>>>>>>> > main sequence... >>>>>>>> > [2015-06-28 00:07:11,065] INFO - SynapseConfigurator Synapse >>>>>>>> main sequence >>>>>>>> > configured successfully >>>>>>>> > [2015-06-28 00:07:11,134] INFO - LoadBalancerServiceComponent >>>>>>>> Tenant event >>>>>>>> > receiver thread started >>>>>>>> > [2015-06-28 00:07:11,142] INFO - LoadBalancerServiceComponent >>>>>>>> Application >>>>>>>> > signup event receiver thread started >>>>>>>> > [2015-06-28 00:07:11,145] INFO - TenantEventMessageDelegator >>>>>>>> Tenant event >>>>>>>> > message delegator started >>>>>>>> > [2015-06-28 00:07:11,149] INFO - >>>>>>>> ApplicationSignUpEventMessageDelegator >>>>>>>> > Application signup event message delegator started >>>>>>>> > [2015-06-28 00:07:11,149] INFO - LoadBalancerServiceComponent >>>>>>>> Domain >>>>>>>> > mapping event receiver thread started >>>>>>>> > [2015-06-28 00:07:11,150] INFO - >>>>>>>> DomainMappingEventMessageDelegator Domain >>>>>>>> > mapping event message delegator started >>>>>>>> > [2015-06-28 00:07:11,191] INFO - >>>>>>>> LoadBalancerCommonTopologyEventReceiver >>>>>>>> > Load balancer topology receiver thread started >>>>>>>> > [2015-06-28 00:07:11,191] INFO - LoadBalancerServiceComponent >>>>>>>> Topology >>>>>>>> > receiver thread started >>>>>>>> > [2015-06-28 00:07:11,193] INFO - LoadBalancerServiceComponent >>>>>>>> Load balancer >>>>>>>> > service component is activated >>>>>>>> > [2015-06-28 00:07:11,193] INFO - TopologyEventMessageDelegator >>>>>>>> Topology >>>>>>>> > event message delegator started >>>>>>>> > [2015-06-28 00:07:11,342] ERROR - AmqpTopicConnector Could not >>>>>>>> connect to >>>>>>>> > message broker >>>>>>>> > javax.jms.JMSException: Cannot send, channel has already failed: >>>>>>>> > tcp://10.203.51.145:7711 >>>>>>>> > at >>>>>>>> > >>>>>>>> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:72) >>>>>>>> > at >>>>>>>> > >>>>>>>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1435) >>>>>>>> > at >>>>>>>> > >>>>>>>> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1522) >>>>>>>> > at >>>>>>>> > >>>>>>>> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:527) >>>>>>>> > at >>>>>>>> > >>>>>>>> org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector.connect(AmqpTopicConnector.java:78) >>>>>>>> > at >>>>>>>> > >>>>>>>> org.apache.stratos.messaging.broker.subscribe.EventSubscriber.doSubscribe(EventSubscriber.java:59) >>>>>>>> > at >>>>>>>> > >>>>>>>> org.apache.stratos.messaging.broker.subscribe.EventSubscriber.run(EventSubscriber.java:75) >>>>>>>> > 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) >>>>>>>> > Caused by: org.apache.activemq.transport.InactivityIOException: >>>>>>>> Cannot send, >>>>>>>> > channel has already failed: tcp://10.203.51.145:7711 >>>>>>>> > at >>>>>>>> > >>>>>>>> org.apache.activemq.transport.AbstractInactivityMonitor.doOnewaySend(AbstractInactivityMonitor.java:297) >>>>>>>> > at >>>>>>>> > >>>>>>>> org.apache.activemq.transport.AbstractInactivityMonitor.oneway(AbstractInactivityMonitor.java:286) >>>>>>>> > at >>>>>>>> > >>>>>>>> org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:85) >>>>>>>> > at >>>>>>>> > >>>>>>>> org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:104) >>>>>>>> > at >>>>>>>> > >>>>>>>> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68) >>>>>>>> > at >>>>>>>> > >>>>>>>> org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:81) >>>>>>>> > at >>>>>>>> > >>>>>>>> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:86) >>>>>>>> > at >>>>>>>> > >>>>>>>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1406) >>>>>>>> > ... 8 more >>>>>>>> > >>>>>>>> > On Sat, Jun 27, 2015 at 5:28 PM, David Hbase < >>>>>>>> davidhb...@gmail.com> wrote: >>>>>>>> >> >>>>>>>> >> log from agent.screen.log >>>>>>>> >> 2015-06-27 21:52:32,871:DEBUG:Reading property: >>>>>>>> thrift.receiver.port = >>>>>>>> >> 7711 >>>>>>>> >> 2015-06-27 21:52:32,873:INFO:Waiting for ports to be active: [ip] >>>>>>>> >> '10.203.51.145' [ports] ['7711'] >>>>>>>> >> 2015-06-27 21:52:32,874:DEBUG:Port '7711' is active >>>>>>>> >> 2015-06-27 21:52:37,879:INFO:Ports activated: [ip] >>>>>>>> '10.203.51.145' [ports] >>>>>>>> >> ['7711'] >>>>>>>> >> 2015-06-27 21:52:37,881:DEBUG:Port '7711' is active >>>>>>>> >> >>>>>>>> >> On Sat, Jun 27, 2015 at 5:11 PM, David Hbase < >>>>>>>> davidhb...@gmail.com> wrote: >>>>>>>> >>> >>>>>>>> >>> Hi, Mariangela >>>>>>>> >>> >>>>>>>> >>> Still not able to make Stratos LB work. >>>>>>>> >>> >>>>>>>> >>> Thanks >>>>>>>> >>> -D >>>>>>>> >>> >>>>>>>> >>> Error: >>>>>>>> >>> JAVA_HOME environment variable is set to /usr >>>>>>>> >>> CARBON_HOME environment variable is set to >>>>>>>> >>> /opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT >>>>>>>> >>> [2015-06-28 00:07:01,090] INFO - CarbonCoreActivator Starting >>>>>>>> WSO2 >>>>>>>> >>> Carbon... >>>>>>>> >>> [2015-06-28 00:07:01,092] INFO - CarbonCoreActivator Operating >>>>>>>> System : >>>>>>>> >>> Linux 2.6.32-504.8.1.el6.x86_64, amd64 >>>>>>>> >>> [2015-06-28 00:07:01,092] INFO - CarbonCoreActivator Java >>>>>>>> Home : >>>>>>>> >>> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64/jre >>>>>>>> >>> [2015-06-28 00:07:01,092] INFO - CarbonCoreActivator Java >>>>>>>> Version : >>>>>>>> >>> 1.7.0_79 >>>>>>>> >>> [2015-06-28 00:07:01,092] INFO - CarbonCoreActivator Java VM >>>>>>>> : >>>>>>>> >>> OpenJDK 64-Bit Server VM 24.79-b02,Oracle Corporation >>>>>>>> >>> [2015-06-28 00:07:01,092] INFO - CarbonCoreActivator Carbon >>>>>>>> Home : >>>>>>>> >>> /opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT >>>>>>>> >>> [2015-06-28 00:07:01,092] INFO - CarbonCoreActivator Java Temp >>>>>>>> Dir : >>>>>>>> >>> /opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT/tmp >>>>>>>> >>> [2015-06-28 00:07:01,092] INFO - CarbonCoreActivator User >>>>>>>> : >>>>>>>> >>> root, en-US, Zulu >>>>>>>> >>> [2015-06-28 00:07:01,152] WARN - SystemValidator Could not >>>>>>>> validate the >>>>>>>> >>> system for configuration parameter : CPU >>>>>>>> >>> [2015-06-28 00:07:01,154] WARN - ValidationResultPrinter The >>>>>>>> default >>>>>>>> >>> keystore (wso2carbon.jks) is currently being used. To maximize >>>>>>>> security when >>>>>>>> >>> deploying to a production environment, configure a new keystore >>>>>>>> with a >>>>>>>> >>> unique password in the production server profile. >>>>>>>> >>> [2015-06-28 00:07:01,154] WARN - ValidationResultPrinter Swap >>>>>>>> Memory >>>>>>>> >>> size (MB): 0 of the system is below the recommended minimum >>>>>>>> size :2048 >>>>>>>> >>> [2015-06-28 00:07:01,161] INFO - AgentHolder Agent created ! >>>>>>>> >>> [2015-06-28 00:07:01,179] INFO - AgentDS Successfully deployed >>>>>>>> Agent >>>>>>>> >>> Client >>>>>>>> >>> [2015-06-28 00:07:02,563] INFO - EmbeddedRegistryService >>>>>>>> Configured >>>>>>>> >>> Registry in 60ms >>>>>>>> >>> [2015-06-28 00:07:02,708] INFO - RegistryCoreServiceComponent >>>>>>>> Registry >>>>>>>> >>> Mode : READ-WRITE >>>>>>>> >>> [2015-06-28 00:07:03,054] INFO - UserStoreMgtDSComponent Carbon >>>>>>>> >>> UserStoreMgtDSComponent activated successfully. >>>>>>>> >>> [2015-06-28 00:07:08,454] INFO - ClusterBuilder Clustering has >>>>>>>> been >>>>>>>> >>> disabled >>>>>>>> >>> [2015-06-28 00:07:08,785] INFO - CarbonAxisConfigurator No >>>>>>>> modules >>>>>>>> >>> directory was found under >>>>>>>> >>> >>>>>>>> /opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT/repository/deployment/server. >>>>>>>> >>> [2015-06-28 00:07:08,893] INFO - PassThroughHttpSSLSender >>>>>>>> Initializing >>>>>>>> >>> Pass-through HTTP/S Sender... >>>>>>>> >>> [2015-06-28 00:07:08,929] INFO - ClientConnFactoryBuilder >>>>>>>> HTTPS Loading >>>>>>>> >>> Identity Keystore from : >>>>>>>> repository/resources/security/wso2carbon.jks >>>>>>>> >>> [2015-06-28 00:07:08,934] INFO - ClientConnFactoryBuilder >>>>>>>> HTTPS Loading >>>>>>>> >>> Trust Keystore from : >>>>>>>> repository/resources/security/client-truststore.jks >>>>>>>> >>> [2015-06-28 00:07:08,997] INFO - PassThroughHttpSSLSender >>>>>>>> Pass-through >>>>>>>> >>> HTTPS Sender started... >>>>>>>> >>> [2015-06-28 00:07:08,997] INFO - PassThroughHttpSender >>>>>>>> Initializing >>>>>>>> >>> Pass-through HTTP/S Sender... >>>>>>>> >>> [2015-06-28 00:07:09,008] INFO - PassThroughHttpSender >>>>>>>> Pass-through HTTP >>>>>>>> >>> Sender started... >>>>>>>> >>> [2015-06-28 00:07:09,027] INFO - PassThroughHttpSSLListener >>>>>>>> Initializing >>>>>>>> >>> Pass-through HTTP/S Listener... >>>>>>>> >>> [2015-06-28 00:07:09,089] INFO - PassThroughHttpListener >>>>>>>> Initializing >>>>>>>> >>> Pass-through HTTP/S Listener... >>>>>>>> >>> [2015-06-28 00:07:09,280] INFO - ModuleDeployer Deploying >>>>>>>> module: >>>>>>>> >>> addressing-1.6.1-wso2v10 - >>>>>>>> >>> >>>>>>>> file:/opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT/repository/deployment/client/modules/addressing-1.6.1-wso2v10.mar >>>>>>>> >>> [2015-06-28 00:07:09,292] INFO - ModuleDeployer Deploying >>>>>>>> module: >>>>>>>> >>> rampart-1.6.1-wso2v1 - >>>>>>>> >>> >>>>>>>> file:/opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT/repository/deployment/client/modules/rampart-1.6.1-wso2v1.mar >>>>>>>> >>> [2015-06-28 00:07:09,302] INFO - TCPTransportSender TCP Sender >>>>>>>> started >>>>>>>> >>> [2015-06-28 00:07:10,441] INFO - CarbonServerManager >>>>>>>> Repository : >>>>>>>> >>> >>>>>>>> /opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT/repository/deployment/server/ >>>>>>>> >>> [2015-06-28 00:07:10,549] INFO - PermissionUpdater Permission >>>>>>>> cache >>>>>>>> >>> updated for tenant -1234 >>>>>>>> >>> [2015-06-28 00:07:10,605] INFO - ServiceBusInitializer >>>>>>>> Starting ESB... >>>>>>>> >>> [2015-06-28 00:07:10,623] INFO - ServiceBusInitializer >>>>>>>> Initializing >>>>>>>> >>> Apache Synapse... >>>>>>>> >>> [2015-06-28 00:07:10,628] INFO - SynapseControllerFactory >>>>>>>> Using Synapse >>>>>>>> >>> home : /opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT/. >>>>>>>> >>> [2015-06-28 00:07:10,628] INFO - SynapseControllerFactory Using >>>>>>>> >>> synapse.xml location : >>>>>>>> >>> >>>>>>>> /opt/apache-stratos-load-balancer-4.1.0-SNAPSHOT/././repository/deployment/server/synapse-configs/default >>>>>>>> >>> [2015-06-28 00:07:10,628] INFO - SynapseControllerFactory >>>>>>>> Using server >>>>>>>> >>> name : localhost >>>>>>>> >>> [2015-06-28 00:07:10,638] INFO - SynapseControllerFactory The >>>>>>>> timeout >>>>>>>> >>> handler will run every : 15s >>>>>>>> >>> [2015-06-28 00:07:10,645] INFO - Axis2SynapseController >>>>>>>> Initializing >>>>>>>> >>> Synapse at : Sun Jun 28 00:07:10 UTC 2015 >>>>>>>> >>> [2015-06-28 00:07:10,654] INFO - CarbonSynapseController >>>>>>>> Loading the >>>>>>>> >>> mediation configuration from the file system >>>>>>>> >>> [2015-06-28 00:07:10,655] INFO - MultiXMLConfigurationBuilder >>>>>>>> Building >>>>>>>> >>> synapse configuration from the synapse artifact repository at : >>>>>>>> >>> ././repository/deployment/server/synapse-configs/default >>>>>>>> >>> [2015-06-28 00:07:10,666] INFO - XMLConfigurationBuilder >>>>>>>> Generating the >>>>>>>> >>> Synapse configuration model by parsing the XML configuration >>>>>>>> >>> [2015-06-28 00:07:10,923] INFO - SynapseConfigurationBuilder >>>>>>>> Loaded >>>>>>>> >>> Synapse configuration from the artifact repository at : >>>>>>>> >>> ././repository/deployment/server/synapse-configs/default >>>>>>>> >>> [2015-06-28 00:07:10,927] INFO - Axis2SynapseController >>>>>>>> Loading mediator >>>>>>>> >>> extensions... >>>>>>>> >>> [2015-06-28 00:07:10,927] INFO - Axis2SynapseController >>>>>>>> Deploying the >>>>>>>> >>> Synapse service... >>>>>>>> >>> [2015-06-28 00:07:10,929] INFO - Axis2SynapseController >>>>>>>> Deploying Proxy >>>>>>>> >>> services... >>>>>>>> >>> [2015-06-28 00:07:10,929] INFO - Axis2SynapseController >>>>>>>> Deploying >>>>>>>> >>> EventSources... >>>>>>>> >>> [2015-06-28 00:07:10,955] INFO - ServerManager Server ready for >>>>>>>> >>> processing... >>>>>>>> >>> [2015-06-28 00:07:11,003] INFO - LoadBalancerServiceComponent >>>>>>>> Load >>>>>>>> >>> balancer clustering is disabled >>>>>>>> >>> [2015-06-28 00:07:11,031] INFO - SynapseConfigurator >>>>>>>> Configuring synapse >>>>>>>> >>> main sequence... >>>>>>>> >>> [2015-06-28 00:07:11,065] INFO - SynapseConfigurator Synapse >>>>>>>> main >>>>>>>> >>> sequence configured successfully >>>>>>>> >>> [2015-06-28 00:07:11,134] INFO - LoadBalancerServiceComponent >>>>>>>> Tenant >>>>>>>> >>> event receiver thread started >>>>>>>> >>> [2015-06-28 00:07:11,142] INFO - LoadBalancerServiceComponent >>>>>>>> >>> Application signup event receiver thread started >>>>>>>> >>> [2015-06-28 00:07:11,145] INFO - TenantEventMessageDelegator >>>>>>>> Tenant >>>>>>>> >>> event message delegator started >>>>>>>> >>> [2015-06-28 00:07:11,149] INFO - >>>>>>>> ApplicationSignUpEventMessageDelegator >>>>>>>> >>> Application signup event message delegator started >>>>>>>> >>> [2015-06-28 00:07:11,149] INFO - LoadBalancerServiceComponent >>>>>>>> Domain >>>>>>>> >>> mapping event receiver thread started >>>>>>>> >>> [2015-06-28 00:07:11,150] INFO - >>>>>>>> DomainMappingEventMessageDelegator >>>>>>>> >>> Domain mapping event message delegator started >>>>>>>> >>> [2015-06-28 00:07:11,191] INFO - >>>>>>>> LoadBalancerCommonTopologyEventReceiver >>>>>>>> >>> Load balancer topology receiver thread started >>>>>>>> >>> [2015-06-28 00:07:11,191] INFO - LoadBalancerServiceComponent >>>>>>>> Topology >>>>>>>> >>> receiver thread started >>>>>>>> >>> [2015-06-28 00:07:11,193] INFO - LoadBalancerServiceComponent >>>>>>>> Load >>>>>>>> >>> balancer service component is activated >>>>>>>> >>> [2015-06-28 00:07:11,193] INFO - TopologyEventMessageDelegator >>>>>>>> Topology >>>>>>>> >>> event message delegator started >>>>>>>> >>> [2015-06-28 00:07:11,342] ERROR - AmqpTopicConnector Could not >>>>>>>> connect to >>>>>>>> >>> message broker >>>>>>>> >>> javax.jms.JMSException: Cannot send, channel has already failed: >>>>>>>> >>> tcp://10.203.51.145:7711 >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:72) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1435) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1522) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:527) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector.connect(AmqpTopicConnector.java:78) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.stratos.messaging.broker.subscribe.EventSubscriber.doSubscribe(EventSubscriber.java:59) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.stratos.messaging.broker.subscribe.EventSubscriber.run(EventSubscriber.java:75) >>>>>>>> >>> 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) >>>>>>>> >>> Caused by: org.apache.activemq.transport.InactivityIOException: >>>>>>>> Cannot >>>>>>>> >>> send, channel has already failed: tcp://10.203.51.145:7711 >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.transport.AbstractInactivityMonitor.doOnewaySend(AbstractInactivityMonitor.java:297) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.transport.AbstractInactivityMonitor.oneway(AbstractInactivityMonitor.java:286) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:85) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:104) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:81) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:86) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1406) >>>>>>>> >>> ... 8 more >>>>>>>> >>> [2015-06-28 00:07:11,347] ERROR - EventSubscriber Error while >>>>>>>> subscribing >>>>>>>> >>> to topic: tenant.> >>>>>>>> >>> >>>>>>>> org.apache.stratos.messaging.domain.exception.MessagingException: Could >>>>>>>> >>> not connect to message broker >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector.connect(AmqpTopicConnector.java:82) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.stratos.messaging.broker.subscribe.EventSubscriber.doSubscribe(EventSubscriber.java:59) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.stratos.messaging.broker.subscribe.EventSubscriber.run(EventSubscriber.java:75) >>>>>>>> >>> 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) >>>>>>>> >>> Caused by: javax.jms.JMSException: Cannot send, channel has >>>>>>>> already >>>>>>>> >>> failed: tcp://10.203.51.145:7711 >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:72) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1435) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1522) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:527) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector.connect(AmqpTopicConnector.java:78) >>>>>>>> >>> ... 5 more >>>>>>>> >>> Caused by: org.apache.activemq.transport.InactivityIOException: >>>>>>>> Cannot >>>>>>>> >>> send, channel has already failed: tcp://10.203.51.145:7711 >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.transport.AbstractInactivityMonitor.doOnewaySend(AbstractInactivityMonitor.java:297) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.transport.AbstractInactivityMonitor.oneway(AbstractInactivityMonitor.java:286) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:85) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:104) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:81) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:86) >>>>>>>> >>> at >>>>>>>> >>> >>>>>>>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1406) >>>>>>>> >>> ... 8 more >>>>>>>> >>> [2015-06-28 00:07:11,348] INFO - EventSubscriber Will try to >>>>>>>> subscribe >>>>>>>> >>> again in 2 sec >>>>>>>> >>> >>>>>>>> >>> >>>>>>>> >>> >>>>>>>> >>> On Fri, Jun 19, 2015 at 11:00 AM, David Hbase < >>>>>>>> davidhb...@gmail.com> >>>>>>>> >>> wrote: >>>>>>>> >>>> >>>>>>>> >>>> Thanks, Following up now. >>>>>>>> >>>> -D >>>>>>>> >>>> >>>>>>>> >>>> On Tue, Jun 16, 2015 at 9:13 PM, Mariangela Hills < >>>>>>>> mariang...@wso2.com> >>>>>>>> >>>> wrote: >>>>>>>> >>>>> >>>>>>>> >>>>> Hi David, >>>>>>>> >>>>> >>>>>>>> >>>>> Please note that the above link has changed. The new link is >>>>>>>> as >>>>>>>> >>>>> follows: >>>>>>>> >>>>> >>>>>>>> >>>>> >>>>>>>> >>>>> >>>>>>>> https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Manually+Configuring+the+Stratos+Load+Balancer >>>>>>>> >>>>> >>>>>>>> >>>>> >>>>>>>> >>>>> >>>>>>>> >>>>> >>>>>>>> >>>>> Regards, >>>>>>>> >>>>> Mariangela >>>>>>>> >>>>> >>>>>>>> >>>>> >>>>>>>> >>>>> Mariangela Hills >>>>>>>> >>>>> Senior Technical Writer - WSO2, Inc. http://wso2.com >>>>>>>> >>>>> Committer and PMC member - Apache Stratos >>>>>>>> >>>>> email:mariang...@wso2.com | mobile: +94 773 500185 >>>>>>>> >>>>> >>>>>>>> >>>>> On Mon, Jun 15, 2015 at 11:47 PM, Imesh Gunaratne < >>>>>>>> im...@apache.org> >>>>>>>> >>>>> wrote: >>>>>>>> >>>>>> >>>>>>>> >>>>>> The following is the current Wiki page we have: >>>>>>>> >>>>>> >>>>>>>> >>>>>> >>>>>>>> https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Manually+Configuring+a+Load+Balancer >>>>>>>> >>>>>> >>>>>>>> >>>>>> Need to update how message broker and CEP configurations are >>>>>>>> done. >>>>>>>> >>>>>> >>>>>>>> >>>>>> On Mon, Jun 15, 2015 at 11:43 PM, David Hbase < >>>>>>>> davidhb...@gmail.com> >>>>>>>> >>>>>> wrote: >>>>>>>> >>>>>>> >>>>>>>> >>>>>>> Need an advanced document for the Stratos LB >>>>>>>> configurations, etc: >>>>>>>> >>>>>>> >>>>>>>> >>>>>>> Session Stick / Round robin / Weighted, HTTP(s)/orther >>>>>>>> protocol >>>>>>>> >>>>>>> status code check, ... >>>>>>>> >>>>>>> >>>>>>>> >>>>>>> >>>>>>>> >>>>>>> Thanks >>>>>>>> >>>>>>> -D >>>>>>>> >>>>>>> >>>>>>>> >>>>>> >>>>>>>> >>>>>> >>>>>>>> >>>>>> >>>>>>>> >>>>>> -- >>>>>>>> >>>>>> Imesh Gunaratne >>>>>>>> >>>>>> >>>>>>>> >>>>>> Senior Technical Lead, WSO2 >>>>>>>> >>>>>> Committer & PMC Member, Apache Stratos >>>>>>>> >>>>> >>>>>>>> >>>>> >>>>>>>> >>>> >>>>>>>> >>> >>>>>>>> >> >>>>>>>> > >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Pubudu Gunatilaka >>>>>>>> Software Engineer >>>>>>>> WSO2, Inc.: http://wso2.com >>>>>>>> lean.enterprise.middleware >>>>>>>> mobile: +94 77 4078049 >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Imesh Gunaratne >>>>>> >>>>>> Senior Technical Lead, WSO2 >>>>>> Committer & PMC Member, Apache Stratos >>>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Imesh Gunaratne >>>> >>>> Senior Technical Lead, WSO2 >>>> Committer & PMC Member, Apache Stratos >>>> >>> >>> >> >> >> -- >> Imesh Gunaratne >> >> Senior Technical Lead, WSO2 >> Committer & PMC Member, Apache Stratos >> > > > > -- > Imesh Gunaratne > > Senior Technical Lead, WSO2 > Committer & PMC Member, Apache Stratos >