指向env的jbosscaching位置var

我在我的configurationxml文件中有以下代码:

<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上testing了这个设置,并且按照预期工作。

tomcat 7下,我创build了设置为“VG_HOME = C:\ config”的setenv.sh/bat。 但是,启动应用程序时,cacheloader文件夹将在根目录(包括windows / linux)下创build,其名称为$ {env.VG_HOME}。 我怀疑xml中的location属性没有在setenv.sh/bat文件中看到env集合。

修正任何想法,意味着应用程序在使用Tomcat时在正确的位置创build文件夹。

谢谢!

挖掘@Maraboc的答案后,我找到了解决这个问题的正确的地方。 去你的setenv文件,并添加以下内容:

设置CATALINA_OPTS =“ – Denv.VG_HOME =%VG_HOME%”

如果您使用的是TC6,则无法正常工作,您需要将其添加到备注之下的catalina.bat文件中。