1. 程式人生 > >隨web容器啟動Java類,spring初始化某個類的方法

隨web容器啟動Java類,spring初始化某個類的方法

之前有篇文章講過隨web容器啟動某個Java類的某個方法的實現,具體有兩種方式,參考原文章:
http://blog.csdn.net/u010523770/article/details/44677447

但是在我的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容器無法啟動完成,就卡在這裡了。我該如何實現我做,我必須用到迴圈,不斷產生資料。