Do you have a setup of hypervisors / cluster ? If you have the physical setup ready then start setting up Open Stack . Java alone can't help you much, you need to know Python. Learn how the provisioning is happening in Open Stack . Now Open Stack has different modules and I guess Load Balancing As a Service is implemented for the network component neutron. You can probably take the help from here and can think how you can write a load balancer for the nodes while provisioning.
I donno but this may help you !