基本的に、GridFilesystem は 2 つの Red Hat Data Grid キャッシュでサポートされます。1 つはメタデータ(通常は複製)、もう 1 つは実際のデータ(通常は分散)に対応します。前者は複製されるので、各ノードにメタデータ情報がローカルにあり、ファイルを一覧表示するための RPC 呼び出しは必要ありません。後者は、ストレージ領域の大部分が使用される場所であり、ここでスケーラブルなメカニズムが必要であるため、配布されます。ファイル自体はチャンクであり、各チャンクはバイトアレイとしてキャッシュエントリーとして保存されます。
以下は、使用法を示す簡単なコードスニペットです。
Cache<String,byte[]> data = cacheManager.getCache("distributed");
Cache<String,GridFile.Metadata> metadata = cacheManager.getCache("replicated");
GridFilesystem fs = new GridFilesystem(data, metadata);
// Create directories
File file=fs.getFile("/tmp/testfile/stuff");
fs.mkdirs(); // creates directories /tmp/testfile/stuff
// List all files and directories under "/usr/local"
file=fs.getFile("/usr/local");
File[] files=file.listFiles();
// Create a new file
file=fs.getFile("/tmp/testfile/stuff/README.txt");
file.createNewFile();
Cache<String,byte[]> data = cacheManager.getCache("distributed");
Cache<String,GridFile.Metadata> metadata = cacheManager.getCache("replicated");
GridFilesystem fs = new GridFilesystem(data, metadata);
// Create directories
File file=fs.getFile("/tmp/testfile/stuff");
fs.mkdirs(); // creates directories /tmp/testfile/stuff
// List all files and directories under "/usr/local"
file=fs.getFile("/usr/local");
File[] files=file.listFiles();
// Create a new file
file=fs.getFile("/tmp/testfile/stuff/README.txt");
file.createNewFile();
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Red Hat Data Grid には、グリッドファイルシステム API を使用するデモ WebDAV アプリケーションが同梱されています。このデモアプリケーションは、JBoss AS や Tomcat などのサーブレットコンテナーにデプロイできる WAR ファイルとしてパッケージされ、グリッドを WebDAV を介してファイルシステムとして公開します。これにより、オペレーティングシステムのリモートドライブとしてマウントされる可能性があります。