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 <[email protected]> wrote:

> Thanks! Yes, we will be updating those pages soon.
>
> On Mon, Jun 29, 2015 at 11:35 PM, David Hbase <[email protected]>
> 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 <[email protected]>
>> wrote:
>>
>>> Hi David,
>>>
>>> On Mon, Jun 29, 2015 at 6:52 PM, David Hbase <[email protected]>
>>> 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 <[email protected]>
>>>> 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 <[email protected]>
>>>>> 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 <[email protected]
>>>>>> > 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 <[email protected]>
>>>>>>> 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 <[email protected]>
>>>>>>> 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 <
>>>>>>> [email protected]> 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 <
>>>>>>> [email protected]>
>>>>>>> >>> wrote:
>>>>>>> >>>>
>>>>>>> >>>> Thanks, Following up now.
>>>>>>> >>>> -D
>>>>>>> >>>>
>>>>>>> >>>> On Tue, Jun 16, 2015 at 9:13 PM, Mariangela Hills <
>>>>>>> [email protected]>
>>>>>>> >>>> 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:[email protected] | mobile: +94 773 500185
>>>>>>> >>>>>
>>>>>>> >>>>> On Mon, Jun 15, 2015 at 11:47 PM, Imesh Gunaratne <
>>>>>>> [email protected]>
>>>>>>> >>>>> 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 <
>>>>>>> [email protected]>
>>>>>>> >>>>>> 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

Reply via email to