[
https://issues.apache.org/jira/browse/THRIFT-1894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13612230#comment-13612230
]
Roger Meier commented on THRIFT-1894:
-------------------------------------
Good approach, could you please create a patch?
> Thrift multi-threaded async Java Server using Java 7 AsynchronousChannelGroup
> -----------------------------------------------------------------------------
>
> Key: THRIFT-1894
> URL: https://issues.apache.org/jira/browse/THRIFT-1894
> Project: Thrift
> Issue Type: New Feature
> Components: Java - Library
> Affects Versions: 1.0
> Environment: Windows/Linux/OS X
> Reporter: Randy Abernethy
> Fix For: 1.0
>
> Attachments: TAsyncThreadPoolServer.tar
>
>
> This is a Java async thread pool server which my shop would like to
> contribute to 1.0.
> This server creates a single thread pool to execute all client requests. Any
> thread may be dispatched to service any request on any connection. Async
> operations use direct ByteBuffers, allowing the underlying system to write
> directly to the server buffer in some JVMs. No memory is typically copied by
> the server, the Protocol reads directly from the I/O buffer. The HotSpot JVM
> implements AsynchronousChannelGroups with I/O completion ports on Windows,
> event port on Solaris, and epoll on Linux. The IOCP implementation makes a
> noticeable difference in some scale out scenarios on Windows. Have found this
> server to be good for large client counts and TThreadPoolServer to be a
> little better with lower client counts (our experience only of course).
> In the tar:
> Server: TAsyncThreadPoolServer.java
> Channel: TChannelManager.java
> Transport: TFramedChannelTransport.java
> Test: TestAsyncThreadPoolServer.java
> Requires Java 7.
> Happy to field questions and turn patches if needed.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira