有些数据,变动量不大,大事使用比较频繁,所以想放在服务启动时,就讲数据加载到内存中,方便在程序中进行取用。
用到了一个简单的实现方法。新建一个servlet,在servlet的init()方法中,进行数据的加载。在web.xml中配置,servlet在启动时加载就行了。
具体实现如下:
servlet 代码:
public class InitData2MemServlet extends HttpServlet { private NodeManagerService nodeManagerService; @Override public void init() throws ServletException { super.init(); WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext()); nodeManagerService = (NodeManagerService)wac.getBean("nodeManagerService"); nodeManagerService.getNode2Map(new HashMap<String, Object>(), SystemMem.nodeMap); } }
web.xml 中配置 <load-on-startup>2</load-on-startup> 就可以了。
此处需要注意的就是在servlet中使用 spring的注解进行注入是无效的,原因servlet 和 spring管理的bean不在一个容器中。servlet是在webcontext容器中。而spring的bean是在Spring容器中。
所以此处通过下面这段代码,来获得spring容器中的bean。
WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext());
nodeManagerService = (NodeManagerService)wac.getBean("nodeManagerService");
相关推荐
Spring是Rails的预加载器。Spring 能够通过保持应用运行在后台,来提升开发模式下的速度。使得不需要在执行test,rake task以及migration时每次都加载。 标签:Spring
这时我们利用启动页或引导页或中间的广告页的时间来预加载webview,利用View.gone,View.visible来实现控件类的隐藏与显示,这样在启动后得到的主页就是一个已经加载好的页面了。此例中加载新浪这样的比较大的网站,...
PreLoader: Make your activity launch faster changelog 中文文档 Pre-load data before Activity opens, and display data on UI after UI initialization....You can start a PreLoader everywhere and start to ...
jquery.lazyload图片预加载 调用简单 内有实例
HTML+jquery图片预加载功能,实用于web及移动端
手机页面预加载效果,一些预加载的效果!酷炫的加载效果
iOS预加载Web页面方案
通过struts+Ajax方式实现数据的预加载,编译环境:Eclipse+JavaSE 1.8 + Maven + Struts2
android 不会进行预加载的ViewPager
关于不同版本的IIS实现web平台的预加载功能,从而真正意义上提高页面的访问效率
类似于淘宝消息,网易云课堂的内容预加载效果,先闪烁显示内容占据的区域,等加载完成后显示实际内容。
lazyload图片预加载js文件盒相关示例代码
图片预加载特效,
ViewPager取消预加载专用jar包,修改android support v4后的
经过自己的整理,能实现图片预加载效果的效果,有效减少带宽的占用,网页图片预加载效果
禁止预加载的ViewPager类,出自android4.0版本 V4包中,只需要更改“DEFAULT_OFFSCREEN_PAGES”参数,模式是1,更改为0之后可以保证不预加载。
JS javascript 图片 预加载 实现图片的加载
本效果是使用CSS3用animation实现的小动画效果,可以用在预加载动画,可避免使用gif之类的动图再增加加载时间
swf预加载 swf预加载 swf预加载
使用preparement预加载防止sql注入