The asynchronous functionality seems to be provided by starting up a new thread for every outgoing request. This could lead to serious resource explosion under heavy load. There has been a lot of work put into supporting asynchronous request in Java already, namely the Ning AsyncHttpClient - https://github.com/AsyncHttpClient/async-http-client. It comes with support for Netty and Grizzly out of the box.
I'd take a look at what Play does for it's WebService (WS) class for example of things done well. Seems like this project and play have a lot of overlapping functionality, and you could likely work together (See https://github.com/playframework/Play20/blob/master/framework/src/play-java/src/main/java/play/libs/WS.java)
The asynchronous functionality seems to be provided by starting up a new thread for every outgoing request. This could lead to serious resource explosion under heavy load. There has been a lot of work put into supporting asynchronous request in Java already, namely the Ning AsyncHttpClient - https://github.com/AsyncHttpClient/async-http-client. It comes with support for Netty and Grizzly out of the box.
I'd take a look at what Play does for it's WebService (WS) class for example of things done well. Seems like this project and play have a lot of overlapping functionality, and you could likely work together (See https://github.com/playframework/Play20/blob/master/framework/src/play-java/src/main/java/play/libs/WS.java)