After a little explain i'm found method createServer(SSLServerSocketFactory factory, int port, int timeout,... that creates TServerSocket by return new TServerSocket(serverSocket);
this method used timeout parameter with wrong way - by setting serverSocket.setSoTimeout(timeout); but this is no matter because this timeout setted on server socket and affect only accept() method, and not used for read timeout as desired (btw, later in methos listen() even serverSocket soTimeout setted to 0). For properly handle clientTimeout we need call setSoTimeout on client socket, after we accepted them. This done in method acceptImpl(), but there used internal field clientTimeout_ stored in constucot of TServerSocket!!! (result2.setTimeout(clientTimeout_); ) but, as i'm mentioned before, in createServer TServerSocket created by new TServerSocket(serverSocket); This called constructor TServerSocket(serverSocket,0) and set internal field clientTimeout_ to 0, what mean wait infinite!
so we only need replace line
return new TServerSocket(serverSocket);
return new TServerSocket(serverSocket,timeout); in TSSLTransportFactory.createServer method