velocity源码分析:初始化之ResourceManager

simscape 液压系统笔记 1. Introduction 先关注simscape中提供的几个典型的液压系统,再进行总结梳理。 2. 典型液压系统 2.1 简易的开关阀 开环阀放在油路的入口或者出口都可以,求解器f(x)也同样的,放在油路的输入或者输出也都可以。 2.2 变量泵直接控制 该模型由关节驱动器、液压转换接口和驱动自由度组成,流量由变量泵控制器。 这个系统是matlab 用于挖掘机系统仿真的液压模型,充分考虑了挖掘机的负流量液压系统特性。 整个系统 液压执行器 变量泵的压强由控制器控制,产生恒定速度的流体,驱动关节运 阅读详情

        之前在“velocity源码分析:velocity初始化”文章中粗略地介绍了velocity整体的初始化过程,包括各个系统的初始化,本文主要介绍Resource相关初始化,本文内容涉及到的概念比较多,也是velocity中比较重要的一部分初始化内容,期间设计到代码使用的template等概念。

        还是先以一张类图开始,如图1:


(图1)


        ResourceManager在初始化时主要加载了velocity.properites中资源相关的配置,初始化RuntimeInstance中的ResourceManager属性,以下罗列几个加载配置:

# ----------------------------------------------------------------------------
# RESOURCE MANAGEMENT
# ----------------------------------------------------------------------------
# Allows alternative ResourceManager and ResourceCache implementations
# to be plugged in.
# ----------------------------------------------------------------------------
resource.manager.class = org.apache.velocity.runtime.resource.ResourceManagerImpl
resource.manager.cache.class = org.apache.velocity.runtime.resource.ResourceCacheImpl


# ----------------------------------------------------------------------------
# T E M P L A T E  L O A D E R S
# ----------------------------------------------------------------------------
#
#
# ----------------------------------------------------------------------------

resource.loader = file

file.resource.loader.description = Velocity File Resource Loader
file.resource.loader.class = org.apache.velocity.runtime.resource.loader.FileResourceLoader
file.resource.loader.path = .,/home/madding/vm
file.resource.loader.cache = false
file.resource.loader.modificationCheckInterval = 2

一块是反射方式初始化 resource manager,一块初始化具体的resourceLoader,本例子中简单修改file.resource.loader.path,添加另一个模板加载位置,把模板在“当前目录”或者/home/madding/vm下,都能被加载到。


说明:

1.ResourceManager的初始化直接关联到的对象是resource对象的创建,经常使用的是template对象的创建,调用的就是ResourceManager的resourceLoader对象进行传教的

2.ResourceManager在初始化resourceLoader根据具体的配置加载,可以初始化多个配置,存在List中,在间接生成Resource对象后,循环调用加载器加载具体的模板。

3.resourceLoader有几个实现方式,一般web工程中使用fileResourceLoader,即根据具体路径加载vm文件。

4.ResourceCache是控制资源加载的缓存设置,根据velocity.properties文件内容加载配置,主要是减少每次加载,缓存实现采用的是LinkedHashMap和ConcurrentHashMap实现。

5.ResourceFactory是构建资源对象的工厂类,该类接口设计不是很合理,不过不影响功能,主要是代码构建Resource对象,每次new出一个Resource对象。在实际调用中,该对象加载后会存在ResourceCache中,之所以要保存这个信息,主要是因为Resource对象在解析时会消耗大量计算(因为要构建ast树,tree),所以保存起来,空间换时间。



至此:RuntimeInstance中

private ResourceManager resourceManager = null;
属性初始化了。









F460 CLK配置功能模块说明 F460CLK配置功能模块说明 目录 F460CLK配置功能模块说明 CLK配置: 1. DDL_ICG——初始化配置 2. DDL_UTILITY——基础功能函数 3.DDL_PRINT-待细化 4.DDL_ADC 5.DDL_AES——AES 加解密算法处理器 6.DDL_CAN 7. DDL_CLK 8. DDL_CMP——电压比较器 9. DDL_CRC 10. DDL_DCU——数据计算单元 11. DDL_DMAC——DMA 控制器 ... 阅读详情

相关推荐

飞凌OK3588-C Linux R4系统下MIPI YUV摄像头CSI尺寸错误排查与极性适配方案

本文详细介绍了在飞凌OK3588-C平台的Linux R4系统下调试MIPI YUV摄像头时遇到的'csi size err'错误排查与极性适配方案。通过分析信号极性、驱动参数调整及FPGA协同调试,提供了从硬件检测到系统级调试的完整解决方案,帮助开发者快速解决类似问题。

bean的博客 258

Velocity模板引擎

分享知识 传递快乐 velocity就是由template,engine,context组成。 1、首先创建一个template(如果是用在web上就是一个html文件),将需要参数化或实例化的地方用跟context有关的符号标记出来,标记时用velocity template language。而template应该可以是任意的文本。 2、给context设定一些值,这些值用来替换在temp...

旷野历程 841

如何适配自定义激光雷达数据到LIO-SAM:解决ring和time参数缺失问题

本文详细解析了如何将非标准激光雷达(如速腾、Livox)适配到LIO-SAM框架中,重点解决ring和time参数缺失问题。提供了从源码修改到通用适配中间件的多层级解决方案,并包含实机测试与性能调优指南,帮助开发者高效完成雷达数据适配。

weixin_42551227的博客 421

Velocity原理探究

 一、前言常见的Java模板引擎有JSP、Freemark,Velocity。在MVC三层框架中,模板引擎属于view层,实质是把model层内容展现到前台页面的一个引擎,velocity以其前后端解耦使前后台可以同时开发和其语法的简易性得到了广泛的应用,集团WebX框架就建议使用它作为模板引擎。二、原理2.1 架构介绍打开velocity的源码包,从代码结构看velocity主要包括app、co...

linuxarmsummary的专栏 1578

ASIC--DFT可测性设计工程师

DFT是什么? DFT是design for test(可测性设计)的缩写,就是在芯片设计过程中,加入可测性逻辑。有的公司把该职位归到前端设计,有的归到中端实现。 DFT职位大多分布于规模较大的数字IC设计公司里,因为大公司对芯片品质要求高,而且规模越大,芯片越贵,DFT就越复杂越重要。DFT主要是通过在芯片中加入可测性逻辑,等芯片制造出来,在ATE(AutomaticTestEquipmen...

TroubleMaker 2万+

UCD9081EVM电源时序管理:硬件配置与GUI操作全解析

电源时序管理是复杂电子系统设计的核心环节,它通过精确控制多路电源的上电/下电顺序,确保核心芯片免受浪涌电流或电压倒灌的损害。其原理基于状态机逻辑与电压监控,技术价值在于将硬连线时序转化为可编程配置,极大提升了系统可靠性与设计灵活性。在服务器、通信设备、工控系统等高可靠性应用场景中,时序控制器是实现稳定启动与故障保护的关键。本文以德州仪器UCD9081评估模块为例,深入剖析其硬件跳线配置与图形用户界面操作,涵盖I2C地址设置、电压监控分压计算、时序条件与故障响应策略等工程实践要点,帮助工程师快速掌握这一电源时

weixin_42696271的博客 302

velocity基础教程--4通过velocity生成文件--网站静态化实现方案

目前很多做web网站的都已经将网站静态化了,其技术无非就是通过io将内容输出为文件 velocity可以帮助我们更简化这些操作,下面的实例算是抛砖引玉。很简单 也不需要过多的说些什么了  package test.velocity; import java.io.PrintWriter; import org.apache.velocity.Template;

luoyuqihuan的专栏 1417

金蝶Apusic应用服务器 未授权目录遍历漏洞复现

由于金蝶Apusic应用服务器/admin/protected/selector/server_file/files、/admin/protected/selector/server_file/folders 等接口没有进行校验和过滤,直接将参数拼接到文件操作中,导致出现目录遍历漏洞,未经身份验证的远程攻击者可通过此漏洞读取系统内部系统文件路径及信息,导致信息泄露,系统处于极不安全状态。

0xSec 2165

Velocity读取模板文件的方法

在J2EE应用开发中,经常将Velocity模板文件打包在JAR文件中一起部署,但是Velocity的缺省行为是从OS的文件系统中读取模板文件,使用FileResourceLoader来读取模板文件。如果要改为从classpath中获取模板文件,那么要对Velocity的初始化参数进行调整:VelocityEngine ve=new VelocityEngine();//可选值:"class"--

汪涛的专栏 6390

网络层隧道技术之ICMP隧道(pingTunnel/IcmpTunnel)

目录 ICMP隧道 使用ICMP搭建隧道(PingTunnel) 使用ICMP搭建隧道(Icmptunnel) ICMP隧道 ICMP隧道简单实用,是一个比较特殊的协议。在一般的通信协议里,如果两台设备要进行通信,肯定需要开放端口,而在ICMP协议下就不需要。最常见的ping命令就是利用的ICMP协议,攻击者可以利用命令行得到比回复更多的ICMP请求。在通常情况下,每个ping命令都有相...

谢公子的博客 6695

【Python爬虫教程】第3篇-解决使用reqeusts遇到的ProxyError异常

Python request代理错误提示“HTTPSConnectionPool, Cannot connect to proxy, no such file or directory”

分享技术,记录思考和感悟 1507

【数据库】mybatis自定义模板生成代码报错-org.apache.velocity.loader - ResourceManager unable to find resou

哈喽,大家好,我是木头左,AI改变生活!

木头大左的博客 1122

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

velocity学习-第一个例子就错,Unable to find resource

http://linjia880714.iteye.com/blog/1312895 velocity学习-第一个例子就错,Unable to find resource 博客分类:  apache   本人还是菜鸟,希望各位大虾指教!!   刚开始学习velocity就报错org.apache.velocity.exception.Resourc

kevin_xiang的专栏 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

springboot整合velocity后出现.ResourceManager : unable to find resource 'ok.html.html'

现状:页面正常请求没有问题,但是总有异常错误日志出现,如 ResourceManager:unabletofindresource'ok.html.html'inanyresourceloader. 解决:查询pom中是否存在重复引入velocity的jar包,排除后解决 ...

liuzhen917的专栏 3859

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Velocity模版加载(classpath、webapp)

classpath资源路径加载: velocity.properties文件配置 file.resource.loader.class = org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader input.encoding = UTF-8 output.encoding = UTF-8Servlet代

com185272358的专栏 5128

velocity 的资源加载方式

#resource.loader = file#file.resource.loader.description = Velocity File Resource Loader#file.resource.loader.class = org.apache.velocity.runtime.resource.loader.FileResourceLoader#file.resource.loade

java-coding 2644

错误解决:ResourceManager : unable to find resource ‘***.vm‘ in any resource loader

解决错误:ResourceManager : unable to find resource '***.vm' in any resource loader

qq_41895699的博客 7766

java velocity详解_velocity 配置文件详解

velocity配置文件详解在velocity的发布方包中有一个velocity.properties(位于 org.apache.velocity.runtime.defaults package下,文件定义了velocity的配置信息org.apache.velocity.runtime.RuntimeConstants中定义了key值)#模板编码:input.encoding=ISO-...

weixin_36274103的博客 947

linux使用velocity出现的一个奇葩问题-Unable to find resource

在controller里返回前台界面时,注意文件路径,名称的大小写一定要一致。 linux下文件大小写不一致,会认为是不同的文件,导致无法访问。 windows下没有问题,所以正式部署时出现这种问题不好排查。 这个问题太坑爹了!!! 报错信息: org.apache.velocity.exception.ResourceNotFoundException: Una

九天之凤 9891

Velocity加载文件的奇怪问题

今天当我用Velocity 的如下方式加载模板的时候, Properties p = new Properties(); p.put("file.resource.loader.class","org.apache.velocity.runtime.resource.loade

Different Design Studio 4544

velocity 使用中的一个坑

如果使用velocity 想自定义 spring.velocity.properties.file.resource.loader.class 属性实现加载指定file 或者复杂的页面关系 一般配置如下: #velocity 模板文件配置 spring.velocity.charset=UTF-8 spring.velocity.content-type=text/html spring....

bwcx_jzy 的博客 1393
上一篇: velocity源码分析:初始化之日志系统
下一篇: httpclient介绍
「已注销」
博客等级 码龄20年 47粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值