0
Apache Util.copyStream関数のbytesTransferredストリームを停止することはできますか?Apache Util.copyStream:ストリームを停止する
long bytesTransferred = Util.copyStream(inputStream, outputStream, 32768, CopyStreamEvent.UNKNOWN_STREAM_SIZE, new CopyStreamListener() {
@Override
public void bytesTransferred(CopyStreamEvent event) {
bytesTransferred(event.getTotalBytesTransferred(), event.getBytesTransferred(), event.getStreamSize());
}
@Override
public void bytesTransferred(long totalBytesTransferred, int bytesTransferred,
long streamSize) {
try {
if(true) {
log.info('Stopping');
return; //Cancel
} else {
log.info('Still going');
}
} catch (InterruptedException e) {
// this should not happen!
}
}
});
この場合、私は自分のログに停止中のメッセージが表示され続けることがあります。私はまた、返す代わりに新しいRuntileExceptionをスローしようとしました、そして、私は無限の停止メッセージを取得します。この場合、bytesTransferはどのように取り消しますか?
彼のOPごとに、彼はそれを試みました。 – WillD
例外をスローすることも同じことです。私は何度も何度もStoppingメッセージを受け取ります –