I'd certainly need to change the hazelcast.xml accordingly when I run this
on multiple JVMs. Current configuration is only for single JVM.


On Tue, Aug 5, 2014 at 7:31 PM, Afkham Azeez <[email protected]> wrote:

> I don't understand how that config will work when you have your instances
> running on multiple JVMs on multiple machines since the port is not
> provided.
>
>
>
> On Tue, Aug 5, 2014 at 7:28 PM, Nirmal Fernando <[email protected]> wrote:
>
>> Here it is;
>>
>>
>> [3]
>>
>> <hazelcast xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>            xsi:schemaLocation="http://www.hazelcast.com/schema/config
>> http://www.hazelcast.com/schema/config/hazelcast-config-3.2.xsd";
>>            xmlns="http://www.hazelcast.com/schema/config";>
>>     <network>
>>         <join>
>>             <tcp-ip enabled="true">
>>                 <member>127.0.0.1</member>
>>             </tcp-ip>
>>         </join>
>>     </network>
>>
>> </hazelcast>
>>
>>
>> On Tue, Aug 5, 2014 at 7:26 PM, Afkham Azeez <[email protected]> wrote:
>>
>>> Can you share the hazelcast.xml?
>>>
>>>
>>> On Tue, Aug 5, 2014 at 7:17 PM, Nirmal Fernando <[email protected]> wrote:
>>>
>>>> Thanks Azeez. Yes, that would be my next step.
>>>>
>>>>
>>>> On Tue, Aug 5, 2014 at 7:14 PM, Afkham Azeez <[email protected]> wrote:
>>>>
>>>>> Looks ok. Rather than creating multiple Hz instances within the same
>>>>> JVM, you should be creating a single Hz instance per JVM to replicate our
>>>>> clustering implementation more closely.
>>>>>
>>>>>
>>>>> On Tue, Aug 5, 2014 at 9:17 AM, Nirmal Fernando <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Hi Azeez,
>>>>>>
>>>>>> I ran the following test case and results showed that members whose
>>>>>> static initial members are shutdown, can still see new members. Let me 
>>>>>> know
>>>>>> if you see any issue in this test case.
>>>>>>
>>>>>> *TEST*
>>>>>>
>>>>>> public static void main(String[] args) {
>>>>>>         System.setProperty("hazelcast.config",
>>>>>>                 "src/main/resources/hazelcast.xml");
>>>>>>         // Build Hazelcast cluster
>>>>>>         System.out.println("Starting instance h1");
>>>>>>         HazelcastInstance h1 = Hazelcast.newHazelcastInstance();
>>>>>>         System.out.println("Starting instance h2");
>>>>>>
>>>>>>         HazelcastInstance h2 = Hazelcast.newHazelcastInstance();
>>>>>>
>>>>>>         IMap<String, String> map1 = h1.getMap("map");
>>>>>>         map1.put("nirmal", "fernando");
>>>>>>
>>>>>>         IMap<String, String> map2 = h2.getMap("map");
>>>>>>         System.out.println("from h2: " + map2.get("nirmal"));
>>>>>>         map2.set("nirmal", "fdo");
>>>>>>         System.out.println("from h1: " + map1.get("nirmal"));
>>>>>>
>>>>>>         System.out.println("Starting instance h3");
>>>>>>         HazelcastInstance h3 = Hazelcast.newHazelcastInstance();
>>>>>>         System.out.println("members of h1 :
>>>>>> "+h1.getCluster().getMembers().size());
>>>>>>         System.out.println("members of h2:
>>>>>> "+h2.getCluster().getMembers().size());
>>>>>>         System.out.println("members of h3:
>>>>>> "+h3.getCluster().getMembers().size());
>>>>>>
>>>>>>         h1.getLifecycleService().shutdown();
>>>>>>         System.out.println("Stopping instance h1");
>>>>>>         h2.getLifecycleService().shutdown();
>>>>>>         System.out.println("Stopping instance h2");
>>>>>>
>>>>>>         System.out.println("members of h3 after h1 is down:
>>>>>> "+h3.getCluster().getMembers().size());
>>>>>>
>>>>>>         HazelcastInstance h4 = Hazelcast.newHazelcastInstance();
>>>>>>         System.out.println("Starting instance h4");
>>>>>>
>>>>>>         System.out.println("members of h3 after h4 is up :
>>>>>> "+h3.getCluster().getMembers().size());
>>>>>>         System.out.println("members of h4 after h4 is up :
>>>>>> "+h4.getCluster().getMembers().size());
>>>>>>
>>>>>>         System.exit(0);
>>>>>>  }
>>>>>>
>>>>>> *RESULT*
>>>>>>
>>>>>> Starting instance h1
>>>>>> Starting instance h2
>>>>>> Starting instance h3
>>>>>>
>>>>>> members of h1 : 3
>>>>>> members of h2: 3
>>>>>> members of h3: 3
>>>>>>
>>>>>> Stopping instance h1
>>>>>> Stopping instance h2
>>>>>> members of h3 after h1 is down: 1
>>>>>>
>>>>>> Starting instance h4
>>>>>> members of h3 after h4 is up : 2
>>>>>> members of h4 after h4 is up : 2
>>>>>>
>>>>>>
>>>>>> *DETAILED RESULT*
>>>>>>
>>>>>> Starting instance h1
>>>>>> Aug 5, 2014 12:35:11 AM com.hazelcast.config.XmlConfigBuilder
>>>>>> INFO: Using configuration file at
>>>>>> /wso2/workspace/HazelcastTest/src/main/resources/hazelcast.xml
>>>>>> Aug 5, 2014 12:35:11 AM com.hazelcast.config.XmlConfigBuilder
>>>>>> INFO: Using configuration file at
>>>>>> /wso2/workspace/HazelcastTest/src/main/resources/hazelcast.xml
>>>>>> Aug 5, 2014 12:35:11 AM com.hazelcast.instance.DefaultAddressPicker
>>>>>> INFO: null [dev] [3.2.4] Interfaces is disabled, trying to pick one
>>>>>> address from TCP-IP config addresses: [127.0.0.1]
>>>>>> Aug 5, 2014 12:35:11 AM com.hazelcast.instance.DefaultAddressPicker
>>>>>> INFO: null [dev] [3.2.4] Picked Address[127.0.0.1]:5701, using socket
>>>>>> ServerSocket[addr=/0:0:0:0:0:0:0:0,localport=5701], bind any local is 
>>>>>> true
>>>>>> Aug 5, 2014 12:35:12 AM com.hazelcast.system
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Hazelcast 3.2.4 (20140721)
>>>>>> starting at Address[127.0.0.1]:5701
>>>>>> Aug 5, 2014 12:35:12 AM com.hazelcast.system
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Copyright (C) 2008-2014
>>>>>> Hazelcast.com
>>>>>> Aug 5, 2014 12:35:12 AM com.hazelcast.instance.Node
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Creating TcpIpJoiner
>>>>>> Aug 5, 2014 12:35:12 AM com.hazelcast.core.LifecycleService
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Address[127.0.0.1]:5701 is
>>>>>> STARTING
>>>>>> Aug 5, 2014 12:35:12 AM com.hazelcast.cluster.TcpIpJoiner
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Connecting to possible member:
>>>>>> Address[127.0.0.1]:5703
>>>>>> Aug 5, 2014 12:35:12 AM com.hazelcast.cluster.TcpIpJoiner
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Connecting to possible member:
>>>>>> Address[127.0.0.1]:5702
>>>>>> Aug 5, 2014 12:35:12 AM com.hazelcast.nio.SocketConnector
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Connecting to /127.0.0.1:5702,
>>>>>> timeout: 0, bind-any: true
>>>>>> Aug 5, 2014 12:35:12 AM com.hazelcast.nio.SocketConnector
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Connecting to /127.0.0.1:5703,
>>>>>> timeout: 0, bind-any: true
>>>>>> Aug 5, 2014 12:35:12 AM com.hazelcast.nio.SocketConnector
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Could not connect to: /
>>>>>> 127.0.0.1:5703. Reason: SocketException[Connection refused to
>>>>>> address /127.0.0.1:5703]
>>>>>> Aug 5, 2014 12:35:12 AM com.hazelcast.nio.SocketConnector
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Could not connect to: /
>>>>>> 127.0.0.1:5702. Reason: SocketException[Connection refused to
>>>>>> address /127.0.0.1:5702]
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.cluster.TcpIpJoiner
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4]
>>>>>>
>>>>>>
>>>>>> Members [1] {
>>>>>>     Member [127.0.0.1]:5701 this
>>>>>> }
>>>>>>
>>>>>> Starting instance h2
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.core.LifecycleService
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Address[127.0.0.1]:5701 is
>>>>>> STARTED
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.config.XmlConfigBuilder
>>>>>> INFO: Using configuration file at
>>>>>> /wso2/workspace/HazelcastTest/src/main/resources/hazelcast.xml
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.config.XmlConfigBuilder
>>>>>> INFO: Using configuration file at
>>>>>> /wso2/workspace/HazelcastTest/src/main/resources/hazelcast.xml
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.instance.DefaultAddressPicker
>>>>>> INFO: null [dev] [3.2.4] Interfaces is disabled, trying to pick one
>>>>>> address from TCP-IP config addresses: [127.0.0.1]
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.instance.DefaultAddressPicker
>>>>>> INFO: null [dev] [3.2.4] Picked Address[127.0.0.1]:5702, using socket
>>>>>> ServerSocket[addr=/0:0:0:0:0:0:0:0,localport=5702], bind any local is 
>>>>>> true
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.system
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Hazelcast 3.2.4 (20140721)
>>>>>> starting at Address[127.0.0.1]:5702
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.system
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Copyright (C) 2008-2014
>>>>>> Hazelcast.com
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.instance.Node
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Creating TcpIpJoiner
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.core.LifecycleService
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Address[127.0.0.1]:5702 is
>>>>>> STARTING
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.cluster.TcpIpJoiner
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Connecting to possible member:
>>>>>> Address[127.0.0.1]:5703
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.cluster.TcpIpJoiner
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Connecting to possible member:
>>>>>> Address[127.0.0.1]:5701
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.nio.SocketConnector
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Connecting to /127.0.0.1:5703,
>>>>>> timeout: 0, bind-any: true
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.nio.SocketConnector
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Connecting to /127.0.0.1:5701,
>>>>>> timeout: 0, bind-any: true
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.nio.SocketConnector
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Could not connect to: /
>>>>>> 127.0.0.1:5703. Reason: SocketException[Connection refused to
>>>>>> address /127.0.0.1:5703]
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.nio.SocketAcceptor
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Accepting socket connection from
>>>>>> /127.0.0.1:50666
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.nio.TcpIpConnectionManager
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] 5701 accepted socket connection
>>>>>> from /127.0.0.1:50666
>>>>>> Aug 5, 2014 12:35:13 AM com.hazelcast.nio.TcpIpConnectionManager
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] 50666 accepted socket connection
>>>>>> from /127.0.0.1:5701
>>>>>> Aug 5, 2014 12:35:19 AM com.hazelcast.cluster.ClusterService
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4]
>>>>>>
>>>>>> Members [2] {
>>>>>>
>>>>>>     Member [127.0.0.1]:5701 this
>>>>>>     Member [127.0.0.1]:5702
>>>>>> }
>>>>>>
>>>>>> Aug 5, 2014 12:35:19 AM com.hazelcast.cluster.ClusterService
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4]
>>>>>>
>>>>>> Members [2] {
>>>>>>
>>>>>>     Member [127.0.0.1]:5701
>>>>>>     Member [127.0.0.1]:5702 this
>>>>>> }
>>>>>>
>>>>>> Aug 5, 2014 12:35:21 AM com.hazelcast.core.LifecycleService
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Address[127.0.0.1]:5702 is
>>>>>> STARTED
>>>>>> Aug 5, 2014 12:35:21 AM
>>>>>> com.hazelcast.partition.InternalPartitionService
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Initializing cluster partition
>>>>>> table first arrangement...
>>>>>> from h2: fernando
>>>>>> from h1: fdo
>>>>>> Starting instance h3
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.config.XmlConfigBuilder
>>>>>> INFO: Using configuration file at
>>>>>> /wso2/workspace/HazelcastTest/src/main/resources/hazelcast.xml
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.config.XmlConfigBuilder
>>>>>> INFO: Using configuration file at
>>>>>> /wso2/workspace/HazelcastTest/src/main/resources/hazelcast.xml
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.instance.DefaultAddressPicker
>>>>>> INFO: null [dev] [3.2.4] Interfaces is disabled, trying to pick one
>>>>>> address from TCP-IP config addresses: [127.0.0.1]
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.instance.DefaultAddressPicker
>>>>>> INFO: null [dev] [3.2.4] Picked Address[127.0.0.1]:5703, using socket
>>>>>> ServerSocket[addr=/0:0:0:0:0:0:0:0,localport=5703], bind any local is 
>>>>>> true
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.system
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Hazelcast 3.2.4 (20140721)
>>>>>> starting at Address[127.0.0.1]:5703
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.system
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Copyright (C) 2008-2014
>>>>>> Hazelcast.com
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.instance.Node
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Creating TcpIpJoiner
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.core.LifecycleService
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Address[127.0.0.1]:5703 is
>>>>>> STARTING
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.cluster.TcpIpJoiner
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Connecting to possible member:
>>>>>> Address[127.0.0.1]:5702
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.cluster.TcpIpJoiner
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Connecting to possible member:
>>>>>> Address[127.0.0.1]:5701
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.nio.SocketConnector
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Connecting to /127.0.0.1:5702,
>>>>>> timeout: 0, bind-any: true
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.nio.SocketConnector
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Connecting to /127.0.0.1:5701,
>>>>>> timeout: 0, bind-any: true
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.nio.SocketAcceptor
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Accepting socket connection from
>>>>>> /127.0.0.1:57737
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.nio.SocketAcceptor
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Accepting socket connection from
>>>>>> /127.0.0.1:46497
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.nio.TcpIpConnectionManager
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] 57737 accepted socket connection
>>>>>> from /127.0.0.1:5702
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.nio.TcpIpConnectionManager
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] 5701 accepted socket connection
>>>>>> from /127.0.0.1:46497
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.nio.TcpIpConnectionManager
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] 46497 accepted socket connection
>>>>>> from /127.0.0.1:5701
>>>>>> Aug 5, 2014 12:35:26 AM com.hazelcast.nio.TcpIpConnectionManager
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] 5702 accepted socket connection
>>>>>> from /127.0.0.1:57737
>>>>>> Aug 5, 2014 12:35:32 AM com.hazelcast.cluster.ClusterService
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4]
>>>>>>
>>>>>> Members [3] {
>>>>>>     Member [127.0.0.1]:5701
>>>>>>     Member [127.0.0.1]:5702 this
>>>>>>     Member [127.0.0.1]:5703
>>>>>> }
>>>>>>
>>>>>> Aug 5, 2014 12:35:32 AM com.hazelcast.cluster.ClusterService
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4]
>>>>>>
>>>>>> Members [3] {
>>>>>>     Member [127.0.0.1]:5701
>>>>>>     Member [127.0.0.1]:5702
>>>>>>     Member [127.0.0.1]:5703 this
>>>>>> }
>>>>>>
>>>>>> Aug 5, 2014 12:35:32 AM com.hazelcast.cluster.ClusterService
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4]
>>>>>>
>>>>>> Members [3] {
>>>>>>     Member [127.0.0.1]:5701 this
>>>>>>     Member [127.0.0.1]:5702
>>>>>>     Member [127.0.0.1]:5703
>>>>>> }
>>>>>>
>>>>>> Aug 5, 2014 12:35:32 AM
>>>>>> com.hazelcast.partition.InternalPartitionService
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Re-partitioning cluster data...
>>>>>> Migration queue size: 90
>>>>>> Aug 5, 2014 12:35:34 AM
>>>>>> com.hazelcast.partition.InternalPartitionService
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] All migration tasks has been
>>>>>> completed, queues are empty.
>>>>>> Aug 5, 2014 12:35:34 AM com.hazelcast.core.LifecycleService
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Address[127.0.0.1]:5703 is
>>>>>> STARTED
>>>>>> members of h1 : 3
>>>>>> members of h2: 3
>>>>>> members of h3: 3
>>>>>> Aug 5, 2014 12:35:34 AM com.hazelcast.core.LifecycleService
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Address[127.0.0.1]:5701 is
>>>>>> SHUTTING_DOWN
>>>>>> Aug 5, 2014 12:35:34 AM com.hazelcast.cluster.ClusterService
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Master Address[127.0.0.1]:5701
>>>>>> left the cluster. Assigning new master Member [127.0.0.1]:5702
>>>>>> Aug 5, 2014 12:35:34 AM com.hazelcast.cluster.ClusterService
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Master Address[127.0.0.1]:5701
>>>>>> left the cluster. Assigning new master Member [127.0.0.1]:5702 this
>>>>>> Aug 5, 2014 12:35:34 AM com.hazelcast.nio.TcpIpConnection
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Connection
>>>>>> [Address[127.0.0.1]:5701] lost. Reason: Socket explicitly closed
>>>>>> Aug 5, 2014 12:35:34 AM com.hazelcast.nio.TcpIpConnection
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Connection
>>>>>> [Address[127.0.0.1]:5701] lost. Reason: Socket explicitly closed
>>>>>> Aug 5, 2014 12:35:34 AM com.hazelcast.nio.TcpIpConnection
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Connection
>>>>>> [Address[127.0.0.1]:5703] lost. Reason: java.io.EOFException[Remote 
>>>>>> socket
>>>>>> closed!]
>>>>>> Aug 5, 2014 12:35:34 AM com.hazelcast.nio.TcpIpConnection
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Connection
>>>>>> [Address[127.0.0.1]:5702] lost. Reason: java.io.EOFException[Remote 
>>>>>> socket
>>>>>> closed!]
>>>>>> Aug 5, 2014 12:35:34 AM com.hazelcast.cluster.ClusterService
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Removing Member [127.0.0.1]:5701
>>>>>> Aug 5, 2014 12:35:34 AM com.hazelcast.cluster.ClusterService
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Removing Member [127.0.0.1]:5701
>>>>>> Aug 5, 2014 12:35:34 AM com.hazelcast.cluster.ClusterService
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4]
>>>>>>
>>>>>> Members [2] {
>>>>>>
>>>>>>     Member [127.0.0.1]:5702
>>>>>>     Member [127.0.0.1]:5703 this
>>>>>> }
>>>>>>
>>>>>> Aug 5, 2014 12:35:34 AM com.hazelcast.cluster.ClusterService
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4]
>>>>>>
>>>>>> Members [2] {
>>>>>>
>>>>>>     Member [127.0.0.1]:5702 this
>>>>>>     Member [127.0.0.1]:5703
>>>>>> }
>>>>>>
>>>>>> Aug 5, 2014 12:35:34 AM com.hazelcast.initializer
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Destroying node initializer.
>>>>>> Aug 5, 2014 12:35:34 AM com.hazelcast.instance.Node
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Hazelcast Shutdown is completed
>>>>>> in 45 ms.
>>>>>> Aug 5, 2014 12:35:34 AM com.hazelcast.core.LifecycleService
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Address[127.0.0.1]:5701 is
>>>>>> SHUTDOWN
>>>>>> Stopping instance h1
>>>>>> Aug 5, 2014 12:35:34 AM com.hazelcast.core.LifecycleService
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Address[127.0.0.1]:5702 is
>>>>>> SHUTTING_DOWN
>>>>>> Aug 5, 2014 12:35:34 AM
>>>>>> com.hazelcast.partition.InternalPartitionService
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Waiting for cluster migration
>>>>>> tasks: 1
>>>>>> Aug 5, 2014 12:35:35 AM
>>>>>> com.hazelcast.partition.InternalPartitionService
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Waiting for cluster migration
>>>>>> tasks: 1
>>>>>> Aug 5, 2014 12:35:36 AM
>>>>>> com.hazelcast.partition.InternalPartitionService
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Partition balance is ok, no need
>>>>>> to re-partition cluster data...
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.cluster.ClusterService
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Master Address[127.0.0.1]:5702
>>>>>> left the cluster. Assigning new master Member [127.0.0.1]:5703 this
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.nio.TcpIpConnection
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Connection
>>>>>> [Address[127.0.0.1]:5702] lost. Reason: Socket explicitly closed
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.nio.TcpIpConnection
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Connection
>>>>>> [Address[127.0.0.1]:5703] lost. Reason: java.io.EOFException[Remote 
>>>>>> socket
>>>>>> closed!]
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.cluster.ClusterService
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Removing Member [127.0.0.1]:5702
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.cluster.ClusterService
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4]
>>>>>>
>>>>>> Members [1] {
>>>>>>     Member [127.0.0.1]:5703 this
>>>>>> }
>>>>>>
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.initializer
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Destroying node initializer.
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.instance.Node
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Hazelcast Shutdown is completed
>>>>>> in 2035 ms.
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.core.LifecycleService
>>>>>> INFO: [127.0.0.1]:5702 [dev] [3.2.4] Address[127.0.0.1]:5702 is
>>>>>> SHUTDOWN
>>>>>> Stopping instance h2Aug 5, 2014 12:35:36 AM
>>>>>> com.hazelcast.config.XmlConfigBuilder
>>>>>> INFO: Using configuration file at
>>>>>> /wso2/workspace/HazelcastTest/src/main/resources/hazelcast.xml
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.config.XmlConfigBuilder
>>>>>> INFO: Using configuration file at
>>>>>> /wso2/workspace/HazelcastTest/src/main/resources/hazelcast.xml
>>>>>>
>>>>>> members of h3 after h1 is down: 1
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.instance.DefaultAddressPicker
>>>>>> INFO: null [dev] [3.2.4] Interfaces is disabled, trying to pick one
>>>>>> address from TCP-IP config addresses: [127.0.0.1]
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.instance.DefaultAddressPicker
>>>>>> INFO: null [dev] [3.2.4] Picked Address[127.0.0.1]:5701, using socket
>>>>>> ServerSocket[addr=/0:0:0:0:0:0:0:0,localport=5701], bind any local is 
>>>>>> true
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.system
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Hazelcast 3.2.4 (20140721)
>>>>>> starting at Address[127.0.0.1]:5701
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.system
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Copyright (C) 2008-2014
>>>>>> Hazelcast.com
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.instance.Node
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Creating TcpIpJoiner
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.core.LifecycleService
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Address[127.0.0.1]:5701 is
>>>>>> STARTING
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.cluster.TcpIpJoiner
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Connecting to possible member:
>>>>>> Address[127.0.0.1]:5703
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.cluster.TcpIpJoiner
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Connecting to possible member:
>>>>>> Address[127.0.0.1]:5702
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.nio.SocketConnector
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Connecting to /127.0.0.1:5703,
>>>>>> timeout: 0, bind-any: true
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.nio.SocketConnector
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Connecting to /127.0.0.1:5702,
>>>>>> timeout: 0, bind-any: true
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.nio.SocketAcceptor
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Accepting socket connection from
>>>>>> /127.0.0.1:53551
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.nio.TcpIpConnectionManager
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] 53551 accepted socket connection
>>>>>> from /127.0.0.1:5703
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.nio.TcpIpConnectionManager
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] 5703 accepted socket connection
>>>>>> from /127.0.0.1:53551
>>>>>> Aug 5, 2014 12:35:36 AM com.hazelcast.nio.SocketConnector
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Could not connect to: /
>>>>>> 127.0.0.1:5702. Reason: SocketException[Connection refused to
>>>>>> address /127.0.0.1:5702]
>>>>>> Aug 5, 2014 12:35:38 AM
>>>>>> com.hazelcast.partition.InternalPartitionService
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Partition balance is ok, no need
>>>>>> to re-partition cluster data...
>>>>>> Aug 5, 2014 12:35:42 AM com.hazelcast.cluster.ClusterService
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4]
>>>>>>
>>>>>> Members [2] {
>>>>>>     Member [127.0.0.1]:5703 this
>>>>>>     Member [127.0.0.1]:5701
>>>>>> }
>>>>>>
>>>>>> Aug 5, 2014 12:35:42 AM com.hazelcast.cluster.ClusterService
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4]
>>>>>>
>>>>>> Members [2] {
>>>>>>     Member [127.0.0.1]:5703
>>>>>>     Member [127.0.0.1]:5701 this
>>>>>> }
>>>>>>
>>>>>> Aug 5, 2014 12:35:42 AM
>>>>>> com.hazelcast.partition.InternalPartitionService
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] Re-partitioning cluster data...
>>>>>> Migration queue size: 135
>>>>>> Aug 5, 2014 12:35:44 AM
>>>>>> com.hazelcast.partition.InternalPartitionService
>>>>>> INFO: [127.0.0.1]:5703 [dev] [3.2.4] All migration tasks has been
>>>>>> completed, queues are empty.
>>>>>> Aug 5, 2014 12:35:44 AM com.hazelcast.core.LifecycleService
>>>>>> INFO: [127.0.0.1]:5701 [dev] [3.2.4] Address[127.0.0.1]:5701 is
>>>>>> STARTED
>>>>>> Starting instance h4
>>>>>> members of h3 after h4 is up : 2
>>>>>> members of h4 after h4 is up : 2
>>>>>>
>>>>>>
>>>>>> On Sat, Aug 2, 2014 at 2:41 PM, Afkham Azeez <[email protected]> wrote:
>>>>>>
>>>>>>> Dynamic discovery happens after the static nodes are added, and the
>>>>>>> static nodes being available is crucial for the cluster to work.
>>>>>>>
>>>>>>>
>>>>>>> On Sat, Aug 2, 2014 at 11:04 AM, Nirmal Fernando <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Azeez,
>>>>>>>>
>>>>>>>> Thanks for the replies. Sorry, if I misunderstood the Hazelcast
>>>>>>>> TcpIpJoiner, but I did following test on Hazelcast tcp/ip [1] and it 
>>>>>>>> seems
>>>>>>>> each node discovers every other dynamically [2]. My Hazelcast.xml file 
>>>>>>>> is
>>>>>>>> [3]. Does my test case incorrect? Appreciate your thoughts.
>>>>>>>>
>>>>>>>> [1]
>>>>>>>>
>>>>>>>> public static void main(String[] args) {
>>>>>>>>         System.setProperty("hazelcast.config",
>>>>>>>>                 "src/main/resources/hazelcast.xml");
>>>>>>>>         // Build Hazelcast cluster
>>>>>>>>         System.out.println("Starting instance 1");
>>>>>>>>         HazelcastInstance h1 = Hazelcast.newHazelcastInstance();
>>>>>>>>         System.out.println("Starting instance 2");
>>>>>>>>         HazelcastInstance h2 = Hazelcast.newHazelcastInstance();
>>>>>>>>
>>>>>>>>         IMap<String, String> map1 = h1.getMap("map");
>>>>>>>>         map1.put("nirmal", "fernando");
>>>>>>>>
>>>>>>>>         IMap<String, String> map2 = h2.getMap("map");
>>>>>>>>         System.out.println("from h2: " + map2.get("nirmal"));
>>>>>>>>         map2.set("nirmal", "fdo");
>>>>>>>>         System.out.println("from h1: " + map1.get("nirm"));
>>>>>>>>
>>>>>>>>         HazelcastInstance h3 = Hazelcast.newHazelcastInstance();
>>>>>>>>         System.out.println(h1.getCluster().getMembers().size());
>>>>>>>>         System.out.println(h2.getCluster().getMembers().size());
>>>>>>>>         System.out.println(h3.getCluster().getMembers().size());
>>>>>>>>         System.exit(0);
>>>>>>>>  }
>>>>>>>>
>>>>>>>> [2]
>>>>>>>>
>>>>>>>> .....
>>>>>>>>
>>>>>>>> Members [3] {
>>>>>>>>     Member [127.0.0.1]:5701 this
>>>>>>>>     Member [127.0.0.1]:5702
>>>>>>>>     Member [127.0.0.1]:5703
>>>>>>>> }
>>>>>>>>
>>>>>>>> Aug 2, 2014 10:59:17 AM com.hazelcast.cluster.ClusterService
>>>>>>>> INFO: [127.0.0.1]:5703 [dev]
>>>>>>>>
>>>>>>>> Members [3] {
>>>>>>>>     Member [127.0.0.1]:5701
>>>>>>>>     Member [127.0.0.1]:5702
>>>>>>>>     Member [127.0.0.1]:5703 this
>>>>>>>> }
>>>>>>>>
>>>>>>>> Aug 2, 2014 10:59:17 AM com.hazelcast.cluster.ClusterService
>>>>>>>> INFO: [127.0.0.1]:5702 [dev]
>>>>>>>>
>>>>>>>> Members [3] {
>>>>>>>>     Member [127.0.0.1]:5701
>>>>>>>>     Member [127.0.0.1]:5702 this
>>>>>>>>     Member [127.0.0.1]:5703
>>>>>>>> }
>>>>>>>>
>>>>>>>> Aug 2, 2014 10:59:17 AM com.hazelcast.partition.PartitionService
>>>>>>>> INFO: [127.0.0.1]:5701 [dev] Re-partitioning cluster data...
>>>>>>>> Migration queue size: 90
>>>>>>>> Aug 2, 2014 10:59:19 AM com.hazelcast.core.LifecycleService
>>>>>>>> INFO: [127.0.0.1]:5703 [dev] Address[127.0.0.1]:5703 is STARTED
>>>>>>>> 3
>>>>>>>> 3
>>>>>>>> 3
>>>>>>>>
>>>>>>>> [3]
>>>>>>>>
>>>>>>>> <hazelcast xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>>>>>>            xsi:schemaLocation="
>>>>>>>> http://www.hazelcast.com/schema/config
>>>>>>>> http://www.hazelcast.com/schema/config/hazelcast-config-3.2.xsd";
>>>>>>>>            xmlns="http://www.hazelcast.com/schema/config";>
>>>>>>>>     <network>
>>>>>>>>         <join>
>>>>>>>>             <tcp-ip enabled="true">
>>>>>>>>                 <member>127.0.0.1</member>
>>>>>>>>             </tcp-ip>
>>>>>>>>         </join>
>>>>>>>>     </network>
>>>>>>>>
>>>>>>>> </hazelcast>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sat, Aug 2, 2014 at 10:25 AM, Afkham Azeez <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Anyway, there is a catch here. The membership scheme uses TCP/IP
>>>>>>>>> underneath, and adds the members it sees as static members. But when 
>>>>>>>>> all
>>>>>>>>> the members each node added fails, that node has to be restarted. So, 
>>>>>>>>> when
>>>>>>>>> the cluster if formed, node 1 will not have any WK members; node 2 
>>>>>>>>> will
>>>>>>>>> have 1 WK member, node 3 will have 2 and so on. So if node 1 fails, 
>>>>>>>>> node 2
>>>>>>>>> also fails, if nodes 1 & 2 fail, node 3 also fails.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Sat, Aug 2, 2014 at 10:10 AM, Nirmal Fernando <[email protected]>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hi All,
>>>>>>>>>>
>>>>>>>>>> In a Cloud environment, it's not ideal to mark one or more WKA
>>>>>>>>>> members since it brings lot of challenges such as;
>>>>>>>>>>
>>>>>>>>>> 1. Keeping WKA members up and running always
>>>>>>>>>> 2. If they got destroyed spin up replacement WKA members and
>>>>>>>>>> respawn the whole cluster.
>>>>>>>>>> etc.
>>>>>>>>>>
>>>>>>>>>> These could possibly lead to lot of instability to the cluster
>>>>>>>>>> and in turn affect the sole purpose of clustering.
>>>>>>>>>>
>>>>>>>>>> According to [1] and also to the Hazelcast book, Hazelcast has a
>>>>>>>>>> solution to this problem for AWS EC2. Here I quote [1].
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> *Hazelcast either uses Multicast or TCP/IP for discovery, but EC2
>>>>>>>>>> does not support multicast. To configure discovery using TCP/IP, you 
>>>>>>>>>> need
>>>>>>>>>> the IP addresses upfront and this is not always possible. To solve 
>>>>>>>>>> this
>>>>>>>>>> problem, Hazelcast supports EC2 auto discovery which is a layer on 
>>>>>>>>>> top
>>>>>>>>>> ofTCP/IP discovery. EC2 auto discovery uses AWS API to get the IP 
>>>>>>>>>> addresses
>>>>>>>>>> of possible Hazelcast nodes and feeds those IP addresses to TCP/IP
>>>>>>>>>> discovery. This way the discovery process becomes dynamic and it 
>>>>>>>>>> eliminates
>>>>>>>>>> a need for knowing the IP addresses upfront. To limit theIP 
>>>>>>>>>> addresses only
>>>>>>>>>> to Hazelcast related nodes, EC2 discovery supports filtering based on
>>>>>>>>>> security group and/or tags.*
>>>>>>>>>>
>>>>>>>>>> Current idea is to use tags to specify the cluster domain and
>>>>>>>>>> need to research more and come up with a design. Further, we could 
>>>>>>>>>> leverage
>>>>>>>>>> Hazelcast's partition groups to support HA across Availability zones.
>>>>>>>>>>
>>>>>>>>>> Also, if this is only for EC2, that would not be much useful. But
>>>>>>>>>> Hazelcast seems to have an extension point to support other Clouds 
>>>>>>>>>> via
>>>>>>>>>> JClouds.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> *In case you are using a different cloud provider than Amazon
>>>>>>>>>> EC2, you can still make use of Hazelcast. What you can do it to use 
>>>>>>>>>> the
>>>>>>>>>> programmatic api toconfigure a tcp-ip cluster and the well known 
>>>>>>>>>> members
>>>>>>>>>> need to be retrieved fromyour cloud provider (e.g. using jclouds).*
>>>>>>>>>>
>>>>>>>>>> In addition to this, at [1] Hazelcast describes some best
>>>>>>>>>> practices to use in AWS EC2 Cloud. And I think we could leverage 
>>>>>>>>>> these in
>>>>>>>>>> many of the real world deployments.
>>>>>>>>>>
>>>>>>>>>> I hope it's feasible to port this support to Carbon Clustering
>>>>>>>>>> and I'd like to work on it. Let me know your thoughts.
>>>>>>>>>>
>>>>>>>>>> [1] http://hazelcast.com/resources/amazon-ec2-deployment-guide/
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>>
>>>>>>>>>> Thanks & regards,
>>>>>>>>>> Nirmal
>>>>>>>>>>
>>>>>>>>>> Senior Software Engineer- Platform Technologies Team, WSO2 Inc.
>>>>>>>>>> Mobile: +94715779733
>>>>>>>>>> Blog: http://nirmalfdo.blogspot.com/
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> *Afkham Azeez*
>>>>>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com
>>>>>>>>> Member; Apache Software Foundation; http://www.apache.org/
>>>>>>>>> * <http://www.apache.org/>*
>>>>>>>>> *email: **[email protected]* <[email protected]>
>>>>>>>>> * cell: +94 77 3320919 <%2B94%2077%203320919> blog: *
>>>>>>>>> *http://blog.afkham.org* <http://blog.afkham.org>
>>>>>>>>> *twitter: **http://twitter.com/afkham_azeez*
>>>>>>>>> <http://twitter.com/afkham_azeez>
>>>>>>>>> * linked-in: **http://lk.linkedin.com/in/afkhamazeez
>>>>>>>>> <http://lk.linkedin.com/in/afkhamazeez>*
>>>>>>>>>
>>>>>>>>> *Lean . Enterprise . Middleware*
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> Thanks & regards,
>>>>>>>> Nirmal
>>>>>>>>
>>>>>>>> Senior Software Engineer- Platform Technologies Team, WSO2 Inc.
>>>>>>>> Mobile: +94715779733
>>>>>>>> Blog: http://nirmalfdo.blogspot.com/
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> *Afkham Azeez*
>>>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com
>>>>>>> Member; Apache Software Foundation; http://www.apache.org/
>>>>>>> * <http://www.apache.org/>*
>>>>>>> *email: **[email protected]* <[email protected]>
>>>>>>> * cell: +94 77 3320919 <%2B94%2077%203320919> blog: *
>>>>>>> *http://blog.afkham.org* <http://blog.afkham.org>
>>>>>>> *twitter: **http://twitter.com/afkham_azeez*
>>>>>>> <http://twitter.com/afkham_azeez>
>>>>>>> * linked-in: **http://lk.linkedin.com/in/afkhamazeez
>>>>>>> <http://lk.linkedin.com/in/afkhamazeez>*
>>>>>>>
>>>>>>> *Lean . Enterprise . Middleware*
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>> Thanks & regards,
>>>>>> Nirmal
>>>>>>
>>>>>> Senior Software Engineer- Platform Technologies Team, WSO2 Inc.
>>>>>> Mobile: +94715779733
>>>>>> Blog: http://nirmalfdo.blogspot.com/
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Afkham Azeez*
>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com
>>>>> Member; Apache Software Foundation; http://www.apache.org/
>>>>> * <http://www.apache.org/>*
>>>>> *email: **[email protected]* <[email protected]>
>>>>> * cell: +94 77 3320919 <%2B94%2077%203320919> blog: *
>>>>> *http://blog.afkham.org* <http://blog.afkham.org>
>>>>> *twitter: **http://twitter.com/afkham_azeez*
>>>>> <http://twitter.com/afkham_azeez>
>>>>> * linked-in: **http://lk.linkedin.com/in/afkhamazeez
>>>>> <http://lk.linkedin.com/in/afkhamazeez>*
>>>>>
>>>>> *Lean . Enterprise . Middleware*
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> Thanks & regards,
>>>> Nirmal
>>>>
>>>> Senior Software Engineer- Platform Technologies Team, WSO2 Inc.
>>>> Mobile: +94715779733
>>>> Blog: http://nirmalfdo.blogspot.com/
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> *Afkham Azeez*
>>> Director of Architecture; WSO2, Inc.; http://wso2.com
>>> Member; Apache Software Foundation; http://www.apache.org/
>>> * <http://www.apache.org/>*
>>> *email: **[email protected]* <[email protected]>
>>> * cell: +94 77 3320919 <%2B94%2077%203320919> blog: *
>>> *http://blog.afkham.org* <http://blog.afkham.org>
>>> *twitter: **http://twitter.com/afkham_azeez*
>>> <http://twitter.com/afkham_azeez>
>>> * linked-in: **http://lk.linkedin.com/in/afkhamazeez
>>> <http://lk.linkedin.com/in/afkhamazeez>*
>>>
>>> *Lean . Enterprise . Middleware*
>>>
>>
>>
>>
>> --
>>
>> Thanks & regards,
>> Nirmal
>>
>> Senior Software Engineer- Platform Technologies Team, WSO2 Inc.
>> Mobile: +94715779733
>> Blog: http://nirmalfdo.blogspot.com/
>>
>>
>>
>
>
> --
> *Afkham Azeez*
> Director of Architecture; WSO2, Inc.; http://wso2.com
> Member; Apache Software Foundation; http://www.apache.org/
> * <http://www.apache.org/>*
> *email: **[email protected]* <[email protected]>
> * cell: +94 77 3320919 <%2B94%2077%203320919> blog: *
> *http://blog.afkham.org* <http://blog.afkham.org>
> *twitter: **http://twitter.com/afkham_azeez*
> <http://twitter.com/afkham_azeez>
> * linked-in: **http://lk.linkedin.com/in/afkhamazeez
> <http://lk.linkedin.com/in/afkhamazeez>*
>
> *Lean . Enterprise . Middleware*
>



-- 

Thanks & regards,
Nirmal

Senior Software Engineer- Platform Technologies Team, WSO2 Inc.
Mobile: +94715779733
Blog: http://nirmalfdo.blogspot.com/
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to