JCS will look for a system property for any name inside the delimiters ${}. 
Also, JCS will check to see if any property key in the cache.ccf is defined in 
the system properties. If so, the system value will be used. 


----- Original Message ----
From: Jan Swaelens <jan.swael...@sofico.be>
To: JCS Users List <jcs-users@jakarta.apache.org>
Sent: Thursday, June 11, 2009 8:16:03 AM
Subject: Re: variables in cache.ccf?

I don't think that it's possible out of the box but it's easily 
implemented by loading the properties and performing the substitution 
yourself.
The 'ConfigUtil.substituteProperties' call is a custom utility and must be 
replaced by somthing available in your environment.

// Get unconfigured instance
CompositeCacheManager ccm = 
CompositeCacheManager.getUnconfiguredInstance();

// Load properties from the ccf file
Properties props = new Properties();
is = 
ClassLoaderUtil.getInstance().getClassLoader().getResourceAsStream(JCS_PROPERTIES_FILE);
if (is != null) {

        // Load
        props.load(is);

        // Replace custom/env variables
        Iterator entries = props.entrySet().iterator();
        while (entries.hasNext()) {
                Entry e = (Entry) entries.next();
                e.setValue(ConfigUtil.substituteProperties((String) 
e.getValue(), true));
        }

        // Configure cache system with replaced props
        ccm.configure(props);
}

---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-users-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jcs-users-h...@jakarta.apache.org

Reply via email to