2012-01-14 10 views
0

いくつかのFIXログを監視するJavaツールを作成します。アイデアは、私のPCにコマンド "tail -f xxx"の出力を取得するリモートサーバーにログオンするSSHを使用して、残りはいくつかのログ分析作業です。 私がJSCHでテストしたときに、bufferReaderかInputStreamから直接情報を読み込んでも、出力が遅延していて、 "tail -f xxx"をputtyで実行した結果よりもずっと遅いことがわかりました。 コードに何か不足していますか?それとも、JSCHでログ情報を継続的に取得するのは良い方法ではありませんか?JSCHはリモート・サーバーから十分な速さでメッセージを受け取ることができます

答えて

0

私は原因を見つけました。 "tail -f xxx | grep zzz"というコマンドを使用しました。 'grep'はバッファリングを使用しているので、出力遅延が発生します。私はローカル側でフィルタリングを移動しました。テスト結果がはるかに優れています。

+0

あなたのバージョンがサポートしている場合(GNU grep does)、 'grep -line-buffered'を使用すると、この問題を避けることができます。 –

関連する問題