Konfigurieren der timeout auf JSch ChannelSftp Operationen

Ich bin mit JSch Bibliothek auflisten und herunterladen von Dateien von einem SFTP-server.

Channel channel = this.session.openChannel(SFTP_CHANNEL_NAME);
channel.connect();
sftpChannel = (ChannelSftp) channel;
Vector listing = sftpChannel.ls("*");

Beim Aufruf ls -, Anwendungs-thread ist, stecken manchmal.

Thread-dump -

Thread 15108: (state = BLOCKED)
java.lang.Object.wait(long) @bci=0 (Compiled frame; information may be imprecise)
java.io.PipedInputStream.read() @bci=142, line=310 (Compiled frame)
java.io.PipedInputStream.read(byte[], int, int) @bci=43, line=361 (Compiled frame)
com.jcraft.jsch.ChannelSftp.fill(byte[], int, int) @bci=17, line=2527 (Compiled frame)
com.jcraft.jsch.ChannelSftp.header(com.jcraft.jsch.Buffer, com.jcraft.jsch.ChannelSftp$Header) @bci=12, line=2553 (Interpreted frame)
com.jcraft.jsch.ChannelSftp.ls(java.lang.String) @bci=298, line=1424 (Interpreted frame)

Gibt es eine Möglichkeit zum konfigurieren der timeout auf ls und andere Methoden? Ich sah timeout auf channel.connect(timeout) aber dies stellt nur die Zeitüberschreitung beim herstellen einer Verbindung zu remote-server.

InformationsquelleAutor vivek garg | 2013-05-14
Schreibe einen Kommentar