9
回答
tomcat启动时如何将字典表的数据加载到内存?
滴滴云服务器,限时包月0.9元,为开发者而生>>>   

系统使用的ssh框架,现在有些字典表是固定不变的,所以想每次启动tomcat时,将几个字典表直接加载到内存里,这样就不用频繁读取数据库了。

希望有经验的哥哥姐姐们,给点思路。  谢谢大家了!

举报
nihao
发帖于7年前 9回/4K+阅
共有9个答案 最后回答: 7年前

引用来自#2楼“红薯”的帖子

可以写个servlet 或者filter或者listener,然后在init里加载

我想再问下,比如我在servlet里面取到了字典表的数据,怎么放到内存里,放到application里面吗? 谢谢

引用来自#3楼“nihao”的帖子

引用来自#2楼“红薯”的帖子

可以写个servlet 或者filter或者listener,然后在init里加载

我想再问下,比如我在servlet里面取到了字典表的数据,怎么放到内存里,放到application里面吗? 谢谢

放在哪都行,你也可以放在一个类的静态变量里,这样别的地方都可以访问到。

引用来自#5楼“nihao”的帖子

恩 谢谢!   刚发现您是这个网站的站长,还这么乐于助人,希望以后能在这里成长。。。

站长是个好银...

引用来自#6楼“laserdance”的帖子

static code block

除了 用 监听器 listener 在容器启动的时候加载,

也可以写一个静态块,只加载一次,hibernate 读取配置文件的时候就是这么干的

static {
    	try {
			configuration.configure(configFile);
			sessionFactory = configuration.buildSessionFactory();
		} catch (Exception e) {
			System.err
					.println("%%%% Error Creating SessionFactory %%%%");
			e.printStackTrace();
		}
    }

用Spring提供的init-method的功能来执行一个bean 子定义的初始化方法,这可以在一个bean的配置文件中通过init-method声明:
<bean id="testBean" class="TestClass" init-method="initialize"/>

顶部