There are two reasons for this:

  1. GAE does not set the "os.arch" or "os.version" system properties.
When Commons VFS initializes, it tries to do this (OS.java line 36), which
throws NullPointerExceptions:

*     private* *static* *final* String *OS_ARCH* = System.*getProperty*(
"os.arch").toLowerCase(Locale.*US*);
    *private* *static* *final* String *OS_VERSION* = System.*getProperty*(
"os.version").toLowerCase(Locale.*US*);

      The GaeVFS class sets these system properties to avoid the
NullPointerExceptions.

  2. GAE does not allow background threads, which causes RuntimeExceptions
if you try to initialize the default SoftRefFileCache. The GaeVFS class
binds in the LRUFilesCache instead.

All of this is documented within the GaeVFS source code.

On Sun, May 31, 2009 at 10:48 AM, Ralph Goers <ralph.go...@dslextreme.com>wrote:

>
> On May 31, 2009, at 2:44 AM, Mario Ivankovits wrote:
>
>>
>>>
>> There is no need to add this to VFS's providers.xml as a vfs plugin is
>> able to provides its own vfs-providers.xml [1] which will be loaded by VFS
>> then automatically.
>>
>
> Thanks for reminding me.  Then I wonder what the requirement that the
> application do
>
> FileSystemManager fsManager = GaeVFS.getManager();
>
> is about.

Reply via email to