[jboss-as7-dev] VFS question and how to extract contents of deployment root

Scott Marlow smarlow at redhat.com
Thu Nov 15 11:44:11 EST 2012


It looks like VirtualFile.getPhysicalFile() uses the FileSystem API. 
How does the FileSystem.getFile() compare to the 
MountHandle.getMountSource()?

Javadoc from VirtualFile.getPhysicalFile:

"
Get a physical file for this virtual file.  Depending on the underlying 
file system type, this may simply return an already-existing file; it 
may create a copy of a file; or it may reuse a preexisting copy of the 
file.  Furthermore, the retured file may or may not have any 
relationship to other files from the same or any other virtual directory.

@return the physical file
"

MountHandle.getMountSource() javadoc:

"Get the source file used for the mount.
"


On 11/15/2012 09:45 AM, Scott Marlow wrote:
> I think that a FileSystem is probably already created for the mount
> point (since the application deployment is already mounted when I need
> to access it).
>
> How can I gain access to the already mounted FileSystem instance?
>
> On 11/15/2012 06:25 AM, Ales Justin wrote:
>>> Does that require a VFS change to allow the AS7/JPA subsystem to access FileSystem?  Or is there a back door to get to it?
>>
>> No change needed, that's already part of VFS3.
>> You just need to get a hold of the right params - mount point and target.
>> Imo, it should be doable in AS7 subsystem.
>>
>>> On 11/14/2012 11:42 AM, Ales Justin wrote:
>>>> Re-sending ...
>>>>
>>>>> What about using FileSystem's API?
>>>>>
>>>>>      File getFile(VirtualFile mountPoint, VirtualFile target) throws IOException;
>>>>>
>>>>> -Ales
>>>>>
>>>>> On Nov 14, 2012, at 5:40 PM, Scott Marlow <smarlow at redhat.com> wrote:
>>>>>
>>>>>> It looks like the deployment root has the mounted VFS handle.  From what
>>>>>> I read in JBVFS-147 comments, there should only be one mounter of each
>>>>>> deployment.  So, I probably need to borrow the (private) mount handle
>>>>>> from org.jboss.as.server.deployment.module.MountHandle.
>>>>>>
>>>>>> Something like the following:
>>>>>> (MountHandle)((BasicMountHandle)
>>>>>> (deploymentRoot.getMountHandle().handle)).getMountSource() evaluates to
>>>>>> my unit test
>>>>>> /home/smarlow/work/as7/build/target/jboss-as-7.2.0.Alpha1-SNAPSHOT/standalone/tmp/vfs/deployment7c320fbb00ead579/ejbjar.jar-47d0861a51443513/ejbjar.jar
>>>>>> which has what I need.
>>>>>>
>>>>>> On 11/13/2012 08:29 AM, Scott Marlow wrote:
>>>>>>> One thing that I don't want to do, is to walk through deployments and
>>>>>>> make separate file copies of the contents (that would slow the
>>>>>>> deployment phase down).
>>>>>>>
>>>>>>> I also don't want to give up on converting VFS urls to FILE urls.
>>>>>>>
>>>>>>> Any other suggestions?
>>>>>>>
>>>>>>> Scott
>>>>>>>
>>>>>>> On 11/07/2012 03:53 PM, Scott Marlow wrote:
>>>>>>>> We need a proper implementation of JPA getPersistenceUnitRootUrl():
>>>>>>>>
>>>>>>>> "
>>>>>>>> javax.persistence.spi.PersistenceUnitInfo.getPersistenceUnitRootUrl()
>>>>>>>>
>>>>>>>> Returns the URL for the jar file or directory that is the root of the
>>>>>>>> persistence unit. (If the persistence unit is rooted in the
>>>>>>>> WEB-INF/classes directory, this will be the URL of that directory.)
>>>>>>>>
>>>>>>>> The URL will either be a file: URL referring to a jar file
>>>>>>>> or referring to a directory that contains an exploded jar
>>>>>>>> file, or some other URL from which an InputStream in jar
>>>>>>>> format can be obtained.
>>>>>>>> "
>>>>>>>>
>>>>>>>> VFSFile.getPhysicalFile() doesn't seem to extract the children, so that
>>>>>>>> isn't helpful by itself.
>>>>>>>>
>>>>>>>> Do we have something like VFSFile.getPhysicalFile() that gets a physical
>>>>>>>> file representation of all of the files in a deployment root?
>>>>>>>>
>>>>>>>> Scott
>>>>>>>> _______________________________________________
>>>>>>>> jboss-as7-dev mailing list
>>>>>>>> jboss-as7-dev at lists.jboss.org
>>>>>>>> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> jboss-as7-dev mailing list
>>>>>>> jboss-as7-dev at lists.jboss.org
>>>>>>> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> jboss-as7-dev mailing list
>>>>>> jboss-as7-dev at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> jboss-as7-dev mailing list
>>>> jboss-as7-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>>>>
>>>
>>
>
> _______________________________________________
> jboss-as7-dev mailing list
> jboss-as7-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>



More information about the jboss-as7-dev mailing list