JBoss Community

VFS3 and symlinks

reply from Rainer Meier in JBoss Microcontainer Development - View the full discussion

It seems my previous analysis was not entirely correct.

I just noticed that I did not install jboss-vfs.jar in version 2.2.0.GA but instead I've installed version 2.2.0.M4 from the official Maven repository (http://repository.jboss.org/maven2/org/jboss/jboss-vfs/2.2.0.M4/). Then I found out that version 2.2.0.GA can be found at http://repository.jboss.org/maven2-brew/org/jboss/jboss-vfs/2.2.0.GA/ (I hope this is the correct location). Just wondering why it's not in the official maven2 location.

 

After installing this version and setting the default vfs.xml configuration and adding the -Djboss.vfs.forceCanonical=true startup parameter it seems to work fine. Even if I use the jboss.server.home.url property in vfs.xml.

 

Here's my vfs.xml property for reference:

 


<?xml version="1.0" encoding="UTF-8"?><!--   The JBossVFS initializer configuration.--><deployment xmlns="urn:jboss:bean-deployer:2.0">  <bean name="VFSCache">    <constructor factoryClass="org.jboss.virtual.spi.cache.VFSCacheFactory" factoryMethod="getInstance">      <!-- Use the CombinedVFSCache implementation -->      <parameter>org.jboss.virtual.plugins.cache.CombinedVFSCache</parameter>    </constructor>    <start ignored="true"/>    <property name="permanentRoots">      <map keyClass="java.net.URL" valueClass="org.jboss.virtual.spi.ExceptionHandler">        <entry>          <key>${jboss.lib.url}</key>          <value><null/></value>        </entry>        <entry>          <key>${jboss.common.lib.url}</key>          <value><inject bean="VfsNamesExceptionHandler"/></value>        </entry>        <entry>          <key>${jboss.server.lib.url}</key>          <value><inject bean="VfsNamesExceptionHandler"/></value>        </entry>        <entry>          <key>${jboss.server.home.url}deploy</key>          <value><inject bean="VfsNamesExceptionHandler"/></value>        </entry>        <entry>          <key>${jboss.server.home.url}farm</key>          <value><inject bean="VfsNamesExceptionHandler"/></value>        </entry>      </map>    </property>    <property name="realCache">      <bean/>    </property>  </bean>  <bean name="VfsNamesExceptionHandler">    <constructor>      <parameter>sqljdbc.jar</parameter>    </constructor>  </bean></deployment>

 

 

Reading this thread it looks to me that some people seem to be concerned about possible performance drop when using/enforcing canonical names. Is this likely to be a real issue or just a small impact?

 

Personally I think it will not be a big issue at runtime. Maybe a small impact during startup and deployment when canonical paths of the files need to be looked up. But after deployment there should not be much canonical path lookups required.

 

What do you think about? Or are there any benchmarks done with or without this option being enabled?

 

I am running JBoss 5.1.0 on Solaris 10 x86 (if this is relevant).

 

Thanks again for your help.

Reply to this message by going to Community

Start a new discussion in JBoss Microcontainer Development at Community