[jcifs] SmbTransport thread accumulation issues

Michael B Allen ioplex at gmail.com
Wed Oct 19 13:52:05 MDT 2011

On Tue, Oct 18, 2011 at 11:41 PM, Sebastian Sickelmann
<sebastian.sickelmann at gmx.de> wrote:
> Am 18.10.2011 20:59, schrieb Michael B Allen:
>> BTW: I tried NIO once. Once. It is a crumby implementation of
>> select(2) from UNIX (which was always considered by many to be a
>> rather crude design in itself). NIO should be called "NoIO". I had
>> trouble just getting it to work reliably. And note that NIO would not
>> really help that much. It would only help in this particular case
>> where you want to communicate with 100 servers in parallel. Otherwise,
>> JCIFS is actually extremely efficient. The CIFS protocol allows for
>> multiplexing requests. Meaning you can send request A and B and get
>> the response for B before A. And JCIFS fully utilizes this. JCIFS can
>> touch every file on a workstation in under 10 seconds if the server
>> cache is hot. If the non-blocking implementation in Java were better I
>> might consider using it. But it's not.
>> Mike
> Hi Mike,
> you are right if you say that selector implementation (introduced
> in java 1.4) isn't the easiest part to implement against. And
> can lead very quick to the meaning that the socket-part of the
> NIO in Java 1.4 should be nearly named "NoIO". But i have done
> this part of porting on jcifs (in my private local git-branch) and
> even if i am not finished with it, it actually works quite good.
> And yes i hate that selector implementation too.
> Java 7 introduces new classes for Asynchronous Network IO
> (AsynchronousSocketChannel) with CompletionHandling. This
> really makes the task easier to use asyn-network-io. But i think
> jcifs is implemented against the java5 feature-set. Am i right
> with the latter?

Hi Sebastian,

Well when I get around to doing the fabled JCIFS 2.0 maybe I'll look
at AsynchronousSocketChannel.

Thanks for the feedback.


Michael B Allen
Java Active Directory Integration

More information about the jCIFS mailing list