Java: create class instance for every new array appended element

Viewed 72

I have a Class called Load Balancer which connects incoming clients to servers. So when a client is connected to the load balancer i add them to a list. And for every 5 new clients added, i want to create a new server instance. How do i translate this sentence into code?

Load balancer

connsock = loadBalancerSocket.accept();
//add connected client to the list
clients.add(connsock.getRemoteSocketAddress().toString());

//create server instance
SMTPserver server = new SMTPserver();
server.main();

2 Answers

something like this?

connsock = loadBalancerSocket.accept();
//add connected client to the list
clients.add(connsock.getRemoteSocketAddress().toString());

if(clients.size()%5==0){ 
    SMTPserver server = new SMTPserver();
    server.main();
}

Create another list for storing new instances of SMTPserver after 5 client entries. Considering list variable as servers.

int index = 0;
for(int i=1;i<=5;i++) {
    connsock = loadBalancerSocket.accept(); 
    clients.add(connsock.getRemoteSocketAddress().toString());
    if(i==5) {
        servers.add(new SMTPserver());
        servers.get(index).main();
        i = 1;
        index += 1;
    }
}
Related