BJAF Web框架利用Servlet的Filter技术在请求和具体执行业务控制器之间加多一层,这是一个缓存策略管理层。它可以根据请求的特点来动态决定是否缓存,以及缓存内容及时返归回用户。其结构示意图如下:
请求动态缓存原理示意图
可见,我们在WebBrowser请求到达Request MainControllerServlet(请求主控制器的Servlet)之间,我们增加多一层:Web Request Cache,此缓存组件模块负责的具体工作如下:
ø缓存策略的定义。即:缓存的作用领域是多宽。是针对整个Web应用(Application级)的缓存还是只针对某个用户的会话(Session级)的缓存。它们的缓存时间又是多少?
ø缓存控制器的配置及读取。在软件的开发过程中,我们有时很难界定哪些控制输出需要作缓存处理,即使知道,我们编写的代码也只能是硬代码,很难根据以后具体的运行情况而变动。所以,所有的缓存处理必须是透明的、可以根据具体的需求而灵活配置的。哪些请求结果需要作缓存,其缓存策略如何,完全由配置文件来描述。
BJAF Web框架的请求缓存描述都在WebController.xml的<caches>标签内装配,例如:
<?xml version="1.0" encoding="gb2312"?>
<mappings>
<caches>
<cItem name="shop-viewCategory.ctrl" scope="application" time="30"/>
<cItem name="shop-viewProduct.ctrl" scope="application" time="30"/>
<cItem name="shop-listOrders.ctrl" scope="session" time="30"/>
<cItem name="shop-viewOrder.ctrl" scope="session" time="30"/>
</caches>
</mappings>
上面每一项为一条缓存策略的定义,例如第一项(条)表示为:
名称为:“shop-viewCategory.ctrl”的控制器输出的结果视图内容需要作缓存处理;其缓存的作用域是整个应用(Application),缓存时间的周期是30秒。
- 大小: 15.3 KB
分享到:
相关推荐
【标题】"beetle 开源框架书的源码"涉及的是一个名为"beetle"的开源框架的源代码,这通常意味着该框架可能是用于Java平台,因为J2EE(Java 2 Platform, Enterprise Edition)是Java领域广泛使用的开发企业级应用的...
Beetle J2ee Application Framework(BJAF)一个功能强大而简单易用的J2EE应用开发框架。它涵盖了J2EE体系结构的表示层、业务层和持久层,为构建一个可靠、高性能、可扩展、灵活缩放的高质量企业应用系统提供了一套...
标题中的"Beetle.JT808-master.zip"表明这是一个关于JT808协议的开源项目,由Beetle框架实现,且基于C#编程语言。Beetle是一个通用的通讯框架,而JT808则是一种广泛应用于中国GPS监控系统中的通信协议。这个项目可能...
BJAF(beetle-j2ee-application-framework)甲壳虫J2EE应用开发框架代码&开发指南 甲壳虫,一个功能强大而简单易用的J2EE应用开发框架。它涵盖了J2EE体系结构的表示层、业务层和持久层,为构建一个可靠、高性能、可...
为了解决这些问题,Beetle Web 框架提供了一个Ajax 控制器功能模块,对 Ajax 技术进行封装,提供了一个开发框架来约束和规范化程序员编码的行为,达到代码可控制、 可维护、可扩展的目的。这个框架封装了 Ajax 技术...
已经成功应用于多个高并发量的TCP、UDP框架通信接口,
蜣螂优化算法(DBO,Dung Beetle Optimization Algorithm)是一种基于生物行为的新型全局优化算法,灵感来源于蜣螂(也称屎壳郎)在寻找食物过程中所展现出的探索和滚动粪球的行为。2022年底,该算法被首次提出,并...
### 德利多富(Wincor Nixdorf) BEETLE_XL_II 收款机说明书 #### 概述 德利多富(Wincor Nixdorf) BEETLE_XL_II是一款模块化的POS系统,专为零售业设计。这款收款机不仅功能强大,而且具备高度的灵活性和可扩展性,...
在Chrome的新标签页上享受高清的粪甲虫图像和其他出色功能。 扩展功能:-一系列您喜欢的主题的高质量甲虫图像,供您设置或让我们为您旋转。 -搜索栏,原始的Google搜索体验。 我们的目标是为世界各地的人们带来出色...
在C#编程中,"Beetle"可能指的是一个自定义的框架或库,用于处理文件传输任务。这个框架可能是为了提高文件传输的效率而设计的。在标题中提到的"beetle类包含其他类",这暗示了Beetle可能是一个封装了多种功能的类库...
总的来说,Popular Beetle是一款功能强大且易于使用的数据库管理工具,它的数据库比较和数据整合能力对于软件生命周期管理中的各个阶段都具有重要的价值。通过高效、准确的数据库操作,可以大大提升工作效率,降低因...
-dung_beetle.zip" 是一个压缩包,其中包含了一个名为 "dung_beetle-master" 的文件夹,这很可能是项目的源代码目录,通常包括教程的实例、脚本和其他相关资源。让我们逐步了解Python爬虫的基本概念和常用工具。 1....
Beetle.zipscratch2.0 3.0编程项目源文件源码经典游戏案例素材源代码Beetle.zipscratch2.0 3.0编程项目源文件源码经典游戏案例素材源代码Beetle.zipscratch2.0 3.0编程项目源文件源码经典游戏案例素材源代码Beetle....
至于“keracce-Beetle-9cc3275”,这可能是一个源代码库的特定版本标识,比如Git仓库的一个分支或者标签。这个名称可能指的是Beetle项目的作者或者一个特定的开发迭代。要深入理解这个项目,你需要解压这个压缩包并...
天牛须算法(Beetle Antennae Search Algorithm,简称BAS),是一种新型的智能优化算法,它以长角天牛的搜索行为为灵感而设计。长角天牛因其长长的触须而著名,这些触须常常比它们的身体还要长。BAS算法模拟了这些...
有需要的朋友就下吧
标题中的“c#_以Beetle为基础SOCKET服客端(WPF)与客户端(winphone\win8 metro)”指的是一个使用C#编程语言构建的网络通信应用,它基于Beetle框架,实现了SOCKET服务器端(WPF)以及Windows Phone和Windows 8 Metro...
beetle是基于c#编写的高性能Socket tcp组件,它基于SocketAsyncEventArgs的实现并提供了发送队列和接收队列的支持,可以根据情况灵活地设置1-N个发送队列和接收队列。除了队列上的支持组件还提供Buffer缓冲池和基于...
【标题】"beetl 模板demo"指的是一个基于Beetl模板引擎的示例项目,用于展示如何在Java Web应用中集成并使用Beetl。Beetl是一款强大的、高效的、易用的Java模板引擎,适用于各种类型的应用开发,尤其是Web应用。 ...