【发布时间】:2016-03-18 11:06:45
【问题描述】:
我想将 thymleaf 模板存储到数据库而不是文件系统中。
因为如果我存储到文件系统中,如果我们需要运行多个应用程序节点来跨服务器分配负载,这将是一个主要问题。模板不应该很大,以便将它们存储在数据库中。
到目前为止,我使用诸如
之类的代码通过上下文中的预定义路径读取文件FileTemplateResolver resolver = new FileTemplateResolver();
String filePath = env.getProperty("external.notification.template.dir");
resolver.setPrefix(filePath);
resolver.setSuffix(".html");
resolver.setTemplateMode("HTML5");
resolver.setOrder(templateEngine.getTemplateResolvers().size());
resolver.setCacheable(false);
templateEngine.addTemplateResolver(resolver);
可以使用 blob 创建临时文件并从同一位置读取。但是可能有很好的方法可用。
任何人都知道读取 blob 数据的配置。
是否有使用 thymleaf 上下文读取 blob 格式文件的方法?
【问题讨论】:
-
不要认为它是开箱即用的,但实现
TemplateResolver可以满足您的需求并不难。 -
@M.Deinum 谢谢。你说的对。我没有找到任何与此相关的 API。所以只有创建临时文件并读取它才有可能。如果我使用数据库解决方案,它是正确/好的方法吗?
-
不,为什么要写入文件。只需创建一个从数据库返回模板的解析器,您无需先将其写入磁盘...
-
@M.Deinum 哦。让我使用 TemplateResolver。谢谢。
-
我认为以这种方式进行负载平衡是不正确的 :) 如果您有多个节点,则必须使用像这样的负载平衡器i.stack.imgur.com/amxhy.png
标签: java spring thymeleaf spring-annotations