Freemarker:使用自定义功能重新加载模板

时间:2017-02-23 15:26:40

标签: java templates freemarker

我想将freemarker与来自数据库的模板一起使用。模板有时会改变。我想创建一个public abstract class ExtendedAggregation extends Aggregation {} ,它接受​​模板名称并从数据库返回当前模板。

如何让freemarker在x分钟后认为模板过时,并且每次需要新版本的模板时调用我的函数?或者其他一些模板提供开箱即用的功能?

1 个答案:

答案 0 :(得分:1)

有一个名为template_update_delay的配置设置,或者使用Java API Configuration.setTemplateUpdateDelayMilliseconds(long)。这决定了FreeMarker检查模板缓存条目是否过时的频率。 (只有当你需要模板时才会这样做,而且它的缓存条目比那个更早。)我想你应该只依靠它。

还有Configuration.removeTemplateFromCache,以防您收到有关模板更改的通知。