|
Project Information
Featured
Downloads
|
Google App Engine Virtual File System (GaeVFS)GaeVFS is an Apache Commons VFS plug-in that implements a distributed, writeable virtual file system for Google App Engine (GAE) for Java. GaeVFS is implemented using the GAE datastore and memcache APIs. The primary goal of GaeVFS is to provide a portability layer that allows you to write application code to access the file system--both reads and writes--that runs unmodified in either GAE or non-GAE servlet environments. Start with the Using GaeVFS Wiki page to learn more about GaeVFS. NewsIMPORTANT! The datastore representation used by GaeVFS 0.3 is different and incompatible with the ones used by versions 0.2 and 0.1, and there is no automatic conversion mechanism. You must delete all of the GaeFileObject entities created by GaeVFS 0.1 or 0.2 before upgrading to version 0.3.
DownloadThe latest version of GaeVFS can be found by clicking the Downloads tab. IMPORTANT! GaeVFS requires a modified version of Commons VFS 2.0, which is included with the GaeVFS download. The patch that implements these changes has been submitted for inclusion in the Commons VFS 2.0 release. GaeVFS also requires the following libraries (get the latest released versions unless otherwise noted):
GaeVfsServletThe GaeVfsServlet, included within the GaeVFS jar file, demonstrates use of GaeVFS and the Commons VFS API, and provides some useful functionality of its own, including the ability to:
See the GaeVfsServlet javadocs or GaeVfsServlet source code for instructions on its use. The GaeVFS download package also contains an upload.html file that demonstrates uploading files via GaeVfsServlet. memcacheGaeVFS uses memcache to cache virtual file system metadata, but currently does not cache any file content. Use of memcache for file content caching is planned as a future enhancement. LimitationsThere are no file size limitations beginning with GaeVFS 0.3, which supports essentially unlimited file sizes. However, Google App Engine limits file uploads to 10 megabytes. Only a one thread at a time within a JVM is allowed to open a file for write access, however, there is currently no mechanism for locking files across multiple JVMs in a distributed environment. Therefore, it is possible that multiple threads within separate JVMs could be granted write access to the same file at the same time. GAE Datastore IndexesGaeVFS does not require defining any datastore indexes. Copyright 2009 New Atlanta Communications, LLC |