hbs.with(new GuavaTemplateCache( CacheBuilder .from(config.getString("hbs.cache"))
@Override public Template get(final TemplateSource source, final Parser parser) throws IOException { requireNonNull(source, "The source is required."); requireNonNull(parser, "The parser is required."); try { return cache.get(key(source), () -> parser.parse(source)); } catch (ExecutionException ex) { throw launderThrowable(source, ex.getCause()); } }
@Override public void evict(final TemplateSource source) { cache.invalidate(key(source)); }
@Bean @ConditionalOnMissingBean public TemplateCache templateCache() { return new GuavaTemplateCache(newBuilder().<TemplateSource, Template>build()); } }
/** * Constructs a handlebars template engine * * @param resourceRoot the resource root */ public HandlebarsTemplateEngine(String resourceRoot) { TemplateLoader templateLoader = new ClassPathTemplateLoader(); templateLoader.setPrefix(resourceRoot); templateLoader.setSuffix(null); handlebars = new Handlebars(templateLoader); // Set Guava cache. Cache<TemplateSource, Template> cache = CacheBuilder.newBuilder().expireAfterWrite(10, TimeUnit.MINUTES) .maximumSize(1000).build(); handlebars = handlebars.with(new GuavaTemplateCache(cache)); }
/** * Constructs a handlebars template engine * * @param resourceRoot the resource root */ public HandlebarsTemplateEngine(String resourceRoot) { TemplateLoader templateLoader = new ClassPathTemplateLoader(); templateLoader.setPrefix(resourceRoot); templateLoader.setSuffix(null); handlebars = new Handlebars(templateLoader); // Set Guava cache. Cache<TemplateSource, Template> cache = CacheBuilder.newBuilder().expireAfterWrite(10, TimeUnit.MINUTES) .maximumSize(1000).build(); handlebars = handlebars.with(new GuavaTemplateCache(cache)); }
hbs.with(new GuavaTemplateCache( CacheBuilder .from(config.getString("hbs.cache"))