I'm looking for an open source library that will allow programmatic loadbalancing across a set of calls to nodes of arbitrary form - so no assumptions about HTTP or anything else, just a method call on an object. Ideally it would provide the following functionality:
I feel this ought to exist already, but some googling has yet to find it.
Consider using Apache Camel library. There is a flexible load balancer and the library have a vast variety of components so you don't stick to particular protocol or service implementation. With Camel Bean component you can load-balance even POJO method calls.