Add a multiplexing Java client
------------------------------
Key: THRIFT-1034
URL: https://issues.apache.org/jira/browse/THRIFT-1034
Project: Thrift
Issue Type: New Feature
Components: Java - Library
Environment: Java v1.4 or higher
Reporter: Xing Jin
One of our recent projects requires to fetch responses from several hundred
servers. All servers have similar settings. The client needs to send same
request to all servers, and then fetch their responses.
We would like to use non-blocking sockets to implement it, as it is much faster
than setting up hundreds of blocking sockets. So in this patch, we create a
client class, which sends a same request to multiple servers (using
java.nio.selector and non-blocking socket), then fetches response from all
these servers, and returns results as an array of ByteBuffer. We also pass a
timeout value to the client, so that when a pre-defined time duration passes,
the client would shutdown all sockets and return any available responses.
It assumes all servers are non-blocking servers and all use TFramedTransport.
We have done many local tests. We could generate some unittest if necessary.
Appreciate any comments!
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.