我的config xml文件中有以下代码:
<jbosscache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:jboss:jbosscache-core:config:3.2">
<locking isolationLevel="READ_COMMITTED" nodeLockingScheme="mvcc"
useLockStriping="false" concurrencyLevel="1500"
lockParentForChildInsertRemove="false" lockAcquisitionTimeout="10000"
writeSkewCheck="true" />
<!-- 0 = no eviction -->
<eviction wakeUpInterval="500" />
<loaders passivation="false" shared="false">
<preload>
<node fqn="/" />
</preload>
<loader class="org.jboss.cache.loader.FileCacheLoader" async="false"
fetchPersistentState="true">
<properties>
location=/${env.VG_HOME}/cacheloader
</properties>
</loader>
</loaders>
</jbosscache>
其中VG_HOME是一个指向本地文件夹的env var。
我已经使用Jetty服务器在Linux和Windows上测试了这个设置,它按预期工作。
在tomcat 7下,我使用set&#34; VG_HOME = C:\ config&#34;创建了setenv.sh/bat。但是,在启动应用程序时,将在根(windows / linux)下创建cacheloader文件夹,其名称为$ {env.VG_HOME}。我怀疑xml中的location属性没有看到setenv.sh/bat文件中设置的env。
有关修复的任何想法,这意味着应用程序在使用Tomcat时会在正确的位置创建文件夹。
谢谢!
答案 0 :(得分:1)
在深入了解@Maraboc答案之后,我找到了合适的地方来解决它。 转到您的setenv文件并添加以下内容:
设置CATALINA_OPTS =&#34; -Denv.VG_HOME =%VG_HOME%&#34;
如果您使用的是TC6,它将无法使用,您需要将其添加到备注下方的catalina.bat文件中。