]
Tristan Tarrant updated ISPN-5527:
----------------------------------
Status: Open (was: New)
Java system properties no longer supported in leveldb expiration
path
---------------------------------------------------------------------
Key: ISPN-5527
URL:
https://issues.jboss.org/browse/ISPN-5527
Project: Infinispan
Issue Type: Bug
Components: Configuration
Affects Versions: 7.2.0.Final
Reporter: Paul Richardson
Fix For: 8.0.0.Alpha2, 7.2.3.Final, 8.0.0.Final
In 6.0, it was possible to create a leveldb cache configuration like:
{code}
<leveldbStore xmlns="urn:infinispan:config:store:leveldb:6.0"
location="${user.home}/.komodo/db/data"
expiredLocation="${user.home}/.komodo/db/expired"
implementationType="JAVA">
</leveldbStore>
{code}
Both the location and expiredLocation paths could contain java system properties and
these would be substituted when the configuration was parsed. In 7.2, the same
configuration successfully substitutes the path attribute but NOT the expiration path
attribute:
{code}
<leveldb-store xmlns="urn:infinispan:config:store:leveldb:7.2"
path="${user.home}/.komodo/db/data">
<expiration path="${user.home}/.komodo/db/expired"/>
<implementation type="JAVA"/>
</leveldb-store>
{code}
Looking at the
[
LevelDBStoreConfigurationParser72|https://github.com/infinispan/infinispa...]
class, the method parseLevelDBCacheStore() (line 55) has a call to:
{code}
String value = StringPropertyReplacer.replaceProperties(attributeValue);
{code}
while the parseLevelDBCacheStoreExpiry() method does not contain any call. Given the
expiry attribute used to be part of the <leveldbStore>, it would seem the
replace-properties support has not been carried over into the expiration tag handling.