Velocity资源加载过程

简介: Velocity资源加载过程

以下全文根据小明哥(minghe)的讲解总结而来:)

资源加载的主要角色:

ResourceManager: 资源的管理者,负责资源的加载,过期缓存的更新。

ResourceCache: 资源缓存的位置,使用线程安全的LRU Map的封装。

ResourceLoader: 资源的加载者,根据数据源不同,Velocity六种类型的Loader,也可以实现自己的Loader。

StringResourceRepository: 资源的寄存器,若Repository中有有效的数据则不用再从数据源读取数据。

Resource: 资源的抽象:包含资源本身以及过期时间、过期检查间隔、上次修改时间等资源相关的信息。

角色间的关系:

在有资源请求到来的时候,ResourceManager会根据以下步骤予以响应:

1、查询ResourceCache中的资源并检查是否过期。有数据且未过期,直接返回数据;无数据或已过期,步骤2

2、遍历ResourceLoader数组,使用Loader尝试加载数据,得到数据中止返回数据(若配置了缓存,则存放缓存)。

Ps:若是StringResourceLoader,会首先去StringResourceRepository取数据,然后再去加载数据。

Finally,VelocityEngine/VelocityServlet获取模板资源,向RuntimeInStance的ResourceManager请求数据,拿到Template数据。

剩余的就是渲染引擎的工作了。

(完)

本文作者 : cyningsun

本文地址https://www.cyningsun.com/02-28-2014/velocity-resource-load.html

版权声明 :本博客所有文章除特别声明外,均采用 CC BY-NC-ND 3.0 CN 许可协议。转载请注明出处!

目录
相关文章
|
关系型数据库 MySQL 分布式数据库
使用Sqoop从Mysql向云HBase同步数据
Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具。本文介绍如何使用sqoop将数据从Mysql导入到HBase。从成本的角度考虑,针对没有hadoop集群的用户,重点介绍单机运行sqoop的配置和参数。
5870 0
|
前端开发 安全 Java
SpringBoot验证框架@Valid
SpringBoot验证框架@Valid
139 1
|
机器学习/深度学习 数据可视化 算法框架/工具
Keras中神经网络可视化模块keras.utils.vis_util 的安装
Keras中神经网络可视化模块keras.utils.vis_util 的安装
878 0
|
微服务
微服务多机房部署大揭秘:全局单一实例、全局多实例,一文让你彻底解锁!
【8月更文挑战第25天】本文探讨了微服务架构中的多机房部署策略,包括全局单一与多实例、区域及机房多实例等方法,分析了它们在可用性、容错性、扩展性和成本上的差异。示例展示了如何利用AWS CloudFormation实现跨不同机房的微服务部署。这为实际应用场景提供了有价值的参考和指导。
426 2
|
算法 数据挖掘 Linux
探索Linux中的awk命令:强大的文本分析工具
探索Linux中的`awk`命令,一个强大的文本分析工具,用于模式扫描、数据提取与报告生成。本文介绍`awk`的用途、工作原理、特点及应用示例。`awk`基于"模式-动作"框架,从输入数据中匹配模式并执行相应操作。其特点包括:强大的文本处理能力、灵活的I/O及简洁的语法。示例涵盖了打印特定行、处理字段、计算统计值等场景。使用`awk`时要注意理解输入数据、测试脚本、优化性能和添加注释。深入学习以提升数据处理技能。
|
资源调度 分布式计算 Hadoop
Hadoop Yarn 核心调优参数
这是一个关于测试集群环境的配置说明,包括3台服务器(master, slave1, slave2)运行CentOS 7.5,每台有4核CPU和4GB内存。集群使用Hadoop 3.1.3,JDK1.8。Yarn核心配置涉及调度器选择、ResourceManager线程数、节点检测、逻辑处理器使用、核心转换乘数、NodeManager内存和CPU设置,以及容器的内存和CPU限制。配置完成后,需要重启Hadoop并检查yarn配置。
322 4
|
存储 安全 搜索推荐
HTTPS协议深度解析
【7月更文挑战第12天】HTTPS协议通过加密通信和身份验证机制,为数据传输提供了强有力的安全保障。在现代互联网环境中,HTTPS已成为保障网站和用户数据安全的重要手段。了解HTTPS的工作原理和安全性特性,有助于更好地应用和维护HTTPS,提升网络安全水平。
1208 5
|
网络协议 应用服务中间件 网络安全
阿里云免费SSL申请流程(白嫖20张SSL免费证书)2024年新版教程
本文详述了2024年最新的阿里云免费SSL证书申请流程。用户可通过阿里云数字证书管理服务控制台一键申请最多20张免费单域名SSL证书,每张证书有效期为3个月。首先登录控制台,选择“SSL证书管理”下的“个人测试证书”,同意协议并完成购买流程。之后需创建证书、输入域名等信息并进行域名验证。验证方法包括手动DNS验证、域名授权自动化验证或文件验证。完成验证后,等待审核通过即可下载适用于不同服务器类型的SSL证书。请注意,阿里云免费SSL证书到期后不支持续费,需重新申请。了解更多详情,请访问阿里云官方SSL证书页面。
|
人工智能 数据安全/隐私保护 开发者
AIGC带来的伦理之思
【1月更文挑战第13天】AIGC带来的伦理之思
755 4
AIGC带来的伦理之思
|
关系型数据库 MySQL 数据库
MySQL 什么是意向锁?为什么要有意向锁?
【8月更文挑战第24天】MySQL 什么是意向锁?为什么要有意向锁?
1252 0