This document is DEPRECATED.

Please consider any information here as out of date. DO NOT use this document.

Instead, refer to

Please update your bookmarks accordingly.

Skip to end of metadata
Go to start of metadata

Infinispan's GridFileSystem is a new, experimental API that exposes an Infinispan-backed data grid as a file system.  This API is available in Infinispan 4.1.0 (from 4.1.0.ALPHA2 onwards).

Specifically, the API works as an extension to the JDK's File, InputStream and OutputStream classes: specifically, GridFile, GridInputStream and GridOutputStream.  A helper class, GridFilesystem, is also included.

Essentially, the  GridFilesystem is backed by 2 Infinispan caches - one for metadata (typically replicated) and one for the actual data (typically distributed).  The former is replicated so that each node has metadata information locally and would not need to make RPC calls to list files, etc.  The latter is distributed since this is where the bulk of storage space is used up, and a scalable mechanism is needed here.  Files themselves are chunked and each chunk is stored as a cache entry, as a byte array.

Here is a quick code snippet demonstrating usage:

Copying stuff to the grid file system:

Reading stuff from the grid:

WebDAV demo

Infinispan 4.1.0 also ships with a demo WebDAV application that makes use of the grid file system APIs.  This demo app is packaged as a WAR file which can be deployed in a servlet container, such as JBoss AS or Tomcat, and exposes the grid as a file system over WebDAV.  This could then be mounted as a remote drive on your operating system.

Here is a short video clip showcasing this demo:

Unknown macro: {widget}
grid grid Delete
filesystem filesystem Delete
infinispan infinispan Delete
gridfs gridfs Delete
webdav webdav Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.