問題タブ [apache-commons-vfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
265 参照

java - pentaho の hdfs-vfs を構成して hdfs-site.xml を取得する

Pentaho のHDFS VFSを使い始めたばかりで、このプロジェクトについてあまり知りません。Hadoop 構成ファイルを外部の場所から読み取ろうとしています。これは、hdfs-site.xmlを除くすべてのファイルで正常に機能するようです。Pentaho HDFS VFS プロジェクトを介して HDFS と通信しようとすると、VFS レイヤーで障害が発生します。私の直感は、pentaho が何らかの環境変数または他の外部ポインターを介してこのファイルを読み取っていることを教えてくれますが、ソースでそれを見つけることができないようです。hdfs-site.xml ファイルをコンパイル済みのwarファイルに手動で配置すると、すべて正常に動作しますが、他のプロセスで変更できるように、このファイルを外部の場所に置く必要があるため、これでは十分ではありません。

以前にこの問題に対処した人はいますか? pentaho にこのファイルをどこから取得するかを伝える方法を教えてください。

ありがとう

0 投票する
0 に答える
80 参照

java - http の GET メソッドを呼び出すように Commons VFS を構成する方法

ファイルをダウンロードするための get 呼び出しをサポートする 1 つの API を呼び出しています。しかし、FileSystemManager の resolveFile メソッドを呼び出すと、デフォルトで HEAD メソッドが呼び出されます。Commons VFS で HTTP GET を呼び出す方法を誰か教えてもらえますか? HttpURLConnection のようにリクエスト メソッドを設定する方法はありますか?

0 投票する
1 に答える
3012 参照

java - Java SFTP 絶対パスを指定

このコードを SFTP Java Upload に使用しました

コードのソースは次のとおりです。http://www.mysamplecode.com/2013/06/sftp-apache-commons-file-download.html

ftp がログインしないようにパスを指定する必要があります

/root/CHOSENPATH

サーバーに接続されているが、

/選択されたパス

コードのこの部分を使用する場合:

相対パスではなく絶対パスを指定する方法はありますか?

前もって感謝します。

0 投票する
1 に答える
3236 参照

java - Apache Commons VFS2 を使用してファイルが存在するかどうかを確認します

Apache Commons のみを使用して、ファイルがフォルダーに既に存在するかどうかを確認する方法があるかどうかを尋ねたいと思います。

SFTP フォルダーにアップロードするメソッドがありますが、メソッドの実行中は常に現在のファイルが上書きされます。メソッドは 5 分ごとに実行するように設定されています。ファイルが既に SFTP の場所にないかどうかをチェックする if ステートメントを作成するコードが必要です。そうでない場合は、コピー メソッドを実行し、ファイルがあればそれをスキップします。

私のコピー方法は次のようになります

ご協力ありがとう御座います。

0 投票する
2 に答える
1012 参照

java - SFTP サーバーに変更があるかどうかを確認する簡単な方法はありますか?

私の目的は、変更について SFTP サーバーをポーリングすることです。私の最初の考えは、ディレクトリ内のファイルの数が変更されたかどうかを確認することです。次に、ディレクトリの変更を追加でチェックする場合があります。

現在、私は以下を使用しています:

これは apache commons vfs2 2.2.0 を使用しています。「問題なく」動作しますが、サーバーにファイルが多すぎると、カウントを取得するだけで数分以上かかります (現在、約 10,000 個のファイルがあるサーバーのカウントを取得するには 2 分以上かかります)。サーバー上のカウントやその他の変更をより速く取得する方法はありますか?

0 投票する
1 に答える
254 参照

groovy - groovy から commons-vfs sync ant タスクを使用する

Groovy から commons-vfs sync ant タスクを使用しようとしています。ほとんどの問題は解決しましたが、まだいくつかの問題があります。これが私のグルーヴィーなスクリプトです:

この時点で唯一欠けているのは、ローカル ディレクトリとファイルを指定する方法です。この例では、次のスタック トレースが得られます。

0 投票する
3 に答える
764 参照

java - Java クラスタ、タスクを 1 回だけ実行

apache commons vfs を使用して、ファイル システム上のディレクトリ X をリッスンする Java プロセスがあります。新しいファイルがこのディレクトリにエクスポートされるたびに、プロセスが開始されます。最初にファイルの名前を filename.processing に変更してファイル名を解析し、ファイルから情報を取得してテーブルに挿入してから、このファイルをドキュメント管理システムに送信します。 . これは、クラスターごとのシングルスレッド アプリケーションです。これをクラスタ環境で実行するとします。5 つのサーバーがあります。したがって、5 つの異なる VM が同じファイルにアクセスしようとしています。OS は複数のプロセスが同時にファイルを変更することを許可しないため、実装全体は、一度に 1 つのプロセスのみがファイルの名前を .processing に変更できることに基づいていました。クラスターがファイルを保持して名前を .processing に変更すると、他のクラスター'

これは 1 年以上前から問題なく機能していましたが、たった今、重複がほとんど見つかりませんでした。複数のクラスターがファイルを取得したようです。この場合、クラスター a、b、c がファイル f.pdf にアクセスし、同時に f.pdf.processing に名前を変更したとします (私はまだ困惑しています)。 OS がファイルを同時に変更できるようにする方法)。これらの結果として、クラスター a、b、c はファイルを処理し、文書管理システムに送信します。したがって、3 つの重複ファイルがあります。

つまり、私が見ているのは、クラスター環境でタスクを1回だけ実行するアプローチです。また、クラスターに問題が発生した場合に別のクラスターがタスクを引き継ぐように、フェイルオーバー メカニズムも備えたいと考えています。ボックスで master=true のような環境変数を設定したくありません。これは、1 つのクラスターのみに制限され、フェイルオーバーを処理しないためです。

どんな種類の助けも大歓迎です。