Hi All, Has anyone else noticed a problem with chained contexts and static classes? As a performance improvement, I decided to put all our static context objects into a context that would be the basis of all new contexts e.g.
private static Context chainedContext; static { chainedContext = Z_getDefaultVelocityContext(); } private static Context Z_getDefaultVelocityContext() { Context context = new VelocityContext(); context.put("TmpDir", Common.getTemporaryDirectory()); context.put("math", new MathTool()); context.put("number", new NumberTool()); context.put("sort", new SortTool()); context.put("LSQUARE_CHAR", '['); context.put("RSQUARE_CHAR", ']'); context.put("LCURLY_CHAR", '{'); context.put("RCURLY_CHAR", '}'); context.put("DOT_CHAR", '.'); context.put("NEWLINE", '\n'); context.put("HASH", '#'); context.put("DOLLAR", '$'); context.put("DQUOTE", '"'); context.put("Utils", Common.class); return context; } public static Context getVelocityContext(boolean runtimeMode) { Context context = new VelocityContext(chainedContext); context.put("Context", context); return context; } The problem is that in this configuration, $Utils is not available in the scripts. All the other instantiated objects are OK. Works fine of course if the static class is added to each outer context. I guess it's a bug but actually am I really going to gain much performance with this technique anyway? Cheers Steve --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org For additional commands, e-mail: user-h...@velocity.apache.org