[jcifs] More and more transport threads in blocking state
Michael B Allen
ioplex at gmail.com
Wed May 13 17:42:03 MDT 2015
On Thu, May 7, 2015 at 11:12 AM, Dev <vendeve at gmail.com> wrote:
> Michael B Allen <ioplex <at> gmail.com> writes:
>> Hi Stefan,
>>
>> I believe the "connection in error" condition will only occur if you
>> try to reuse the same transport after it just choked. Then, just in
>> case the server suddenly becomes alive at some point, it resets the
>> connection state. Thats why you then go back to "connect timed out". I
>> never really liked that behavior because it seems clumsey to ping-pong
>> between two different errors. But it's not obvious to me that anything
>> is logically wrong with this behavior. Think about it. If you try to
>> connect to a server and it chokes, why mindlessly try to connect to
>> the same server again? You should have some logic in your code that
>> catches the exception and just removes all targets on that server from
>> the list for the current scan.
>>
>> So I would say that with some adjustment to your code as described
>> above and combined with using responseTimeout > connTimeout, that
>> should give you correct results.
>>
>> If you're still not getting the desired result, please explain what
>> you think the correct results should be.
>>
>> Mike
>>
>
>
>
> Hi Michael,
>
> I am getting the below exception when I try to use JCIFS-1.3.17.jar.
> Please let me know what is the
> resolution.
Hi Dev,
Easy. Fix the network / other end to accept the connection.
> Also can you let me know what are the ports that
> JCIFS uses to connect to the destination
> server? Is it something if we try to open the ports from source
> to destination would help?
Like a firewall problem? Certainly.
JCIFS uses TCP port 445 [1].
Mike
[1] Techincally JCIFS actually fails over to port 139 if 445 is not
available. But I don't know of any servers that only listen on 139.
Maybe some really old version of Samba. So port 139 can / should just
be ignored because if 445 doesn't work, 139 won't either.
--
Michael B Allen
Java Active Directory Integration
http://www.ioplex.com/
> osgi.wiring.package=*) -> [0]
> jcifs.smb.SmbException: Failed to connect: 0.0.0.0(00)/10.12.212.41
> jcifs.util.transport.TransportException: Connection timeout
> at jcifs.util.transport.Transport.connect(Transport.java:174)
> at jcifs.smb.SmbTransport.connect(SmbTransport.java:307)
> at jcifs.smb.SmbTree.treeConnect(SmbTree.java:156)
> at jcifs.smb.SmbFile.doConnect(SmbFile.java:911)
> at jcifs.smb.SmbFile.connect(SmbFile.java:954)
> at jcifs.smb.SmbFile.connect0(SmbFile.java:880)
> at jcifs.smb.SmbFile.open0(SmbFile.java:972)
> at jcifs.smb.SmbFile.open(SmbFile.java:1006)
> at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:73)
> at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:65)
> at
More information about the jCIFS
mailing list