Well, I just finished removing all the VFS stuff from the deployment system ;) I have the tests passing, with additional test logic that was failing (even for me) when I was using VFS. I will probably commit the changes tommorrow morning. Hopefully this will solve both the issue with the test failing in Windows environments and the inability to delete deployed artifacts from the "WEB-INF/deploy" staging directory, which also was a windows only problem.

Refactoring VFS out of J2 is probably for the better. Not because VFS is bad (I personally think it is VERY kewl), but because we were only using a small portion of it that was easily replicated within J2 itself.

In any case, Tim, thanks for keeping an eye out on the VFS list.

Tim Reilly wrote:

FYI - This was committed to vfs head today (not sure it helps?, but sounds
like it would from Jeremy's description of the issue.)



-----Original Message-----
From: Mario Ivankovits
Sent: Wednesday, July 07, 2004 4:20 PM
To: Jakarta Commons Developers List
Subject: Re: [VFS] FileSystem close


I try to take another approach to solve this problem.

During adapting the test-cases to close() every single resolved file i
came to the conclusion it is nearly impossible to do this for a whole
system.
And if it comes to swap a system from java.io.File to VFS it is way too
hard to correctly place every FileObject.close().
Sometimes VFS do itself resolv files and then it has to check the state
and maybe (or maybe not) close it after use.
I found it is a really complicated (and error-prone) thing.

So i picked up the SoftRefFilesCache and adapted it slightly.

The idea behind is - as long as a FileObject is "strongly reachable" by
the jvm there must be someone who is willing to access the file and thus
it is not allowed to close the filesystem.
As soon as the last file of a certain filesystem is garbage-collected
the filesystem can be (and will be) closed.

For sure - now you do not have that control over this release process,
but it should work well.

One has simply to ensure to release all references (assign null to it if
it is a global member) to make this work.

@Johan:
I would like to remove the useCount (freeUnusedResources) stuff from vfs
again. Could you please try this in your environment.

Instantiate your vfs manager like this:

StandardFileSystemManager manager = new StandardFileSystemManager();
manager.setFilesCache(new SoftRefFilesCache());
manager.init();

and remove the call to freeUnusedResources - and - as long as you do not
use any input/output stream - the FileObject.close() is also no longer
needet.

Thanks!
--
Mario


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






--
******************************************
*           Scott T. Weaver              *
*         <[EMAIL PROTECTED]>            *
*     <http://www.einnovation.com>       *
* -------------------------------------- *
*   Apache Jetspeed Enterprise Portal    *
*     Apache Pluto Portlet Container     *
*                                        *
* OpenEditPro, Website Content Mangement *
*     <http://www.openeditpro.com>       *
******************************************


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to