您的位置:首页 > 编程语言 > Java开发

随web容器启动Java类,spring初始化某个类的方法

2015-03-30 22:47 1191 查看
之前有篇文章讲过随web容器启动某个Java类的某个方法的实现,具体有两种方式,参考原文章:

/article/1872526.html

但是在我的web项目中遇到了这样一个问题,我在需要随web容器的类的方法中加入了一个while(true),因为我要不停的产生随机数据,所以这个我必须要有这样一个循环,问题是当我启动web容器的时候,spring加载到这个方法的时候就卡在这个循环这里了,然后web容器就没有办法继续启动了。

解决方案:增加一个线程,把循环的方法体放到这个新线程中去:

new Thread(){public void run(){while(true){//你的逻辑}}}.start();

public class SpringInitMethod implements InitializingBean,

ServletContextAware {

@Override

public void afterPropertiesSet() throws Exception {

}

@Override

public void setServletContext(ServletContext arg0) {

while (true) {}

问个spring初始化代码块的问题,我的web程序是在spring框架下做的,但是我需要一个类来产生数据,这个类在web容器启动的时候就开始产生数据。

我把这个类也交给spring管理了,通过网上查资料,了解到,只有这个类继承了下面两个接口import org.springframework.beans.factory.InitializingBean;

import org.springframework.web.context.ServletContextAware;那么在web容器加载spring的时候setServletContext的方法体就会开始执行。 现在我在这个setServletContext方法里面加了一个while(true) 循环,发现web容器启动的时候就在这里循环了,web容器无法启动完成,就卡在这里了。我该如何实现我做,我必须用到循环,不断产生数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: