31.2. Installing Scripts
A script may be added to the
script_cache
by putting the script into the cache itself with the name of the script as the key, and the content of the script as the value. If the name of the script contains a filename extension, such as sample.js
, then the extension will determine the engine used to execute the script. This behavior may be overridden by specifying metadata inside the script itself.
As the contents of the script should be stored in the value of the
___script_cache
this may either be loaded from a pre-existing file, or manually entered. The following examples demonstrate both of these options:
Example 31.2. Loading a Script From a File
Assuming the script is stored within a file the following code sample may be used to read the contents of the file and store it into the scripting cache:
private static final String SCRIPT_CACHE = "___script_cache"; private RemoteCache<String, String> scriptingCache; [...] scriptingCache = cacheManager.getCache(SCRIPT_CACHE); [...] private void loadScript(String filename) throws IOException{ StringBuilder sb = new StringBuilder(); BufferedReader reader = new BufferedReader(new FileReader(filename)); for (String line = reader.readLine(); line != null; line = reader.readLine()) { sb.append(line); sb.append("\n"); } System.out.println(sb.toString()); scriptingCache.put(filename,sb.toString()); }
Example 31.3. Defining the Contents of the Script
Instead of loading a script from a file the script may be manually defined and placed into the scripting cache:
RemoteCache<String, String> scriptCache = cacheManager.getCache("___script_cache"); scriptCache.put("multiplication.js", "// mode=local,language=javascript\n" + "// parameters=[multiplicand,multiplier]" "multiplicand * multiplier\n"