Java WebÓ¦ÓÃÆô¶¯¼ä¸ôÖ´ÐеijÌÐò
Reference£º¡¶Java¶¨Ê±Æ÷timer.scheduleÔÚWebÖмä¸ôÖ´ÐÐÈÎÎñºÍ¶¨Ê±¡·¡¶¡¾Java¡¿TimerºÍTimerTaskÏê½â¡·
×öÁËÒ»¸öDemo£¬Íê³ÉÈçÏµĹ¦ÄÜ£º
ÈÃTomcatÔÚWEB³ÌÐòÆô¶¯µÄʱºòÆô¶¯Ò»¸öÏ̳߳غÍÒ»¸öTimerỊ̈߳¬TimerÏß³Ìÿ¸ôÒ»¶Îʱ¼äÅÜÒ»´Î£¨±ÈÈç¼ì²éµ½ÆÚµÄÓû§£¬ÀàËÆÂÖѯ²é¿´£©£¬È»ºó´¥·¢ÁíÒ»¸öºǫ́Ị̈߳¨Ë¦¸øÏ̳߳ØÈ¥´¦Àí£¬±ÈÈç´¦Àíµ½ÆÚµÄÓû§£¬·¢Ë͵ȣ©¡£
Ö±½ÓÓôúÂë˵»°
StarupListener.java
package Listeners; import java.util.Timer; import java.util.concurrent.Executors; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import BackStage.MyTimerTask; import Support.PoolManager; public class StartupListener implements ServletContextListener { @Override public void contextDestroyed(ServletContextEvent sce) { sce.getServletContext().log("¶¨Ê±Æ÷Ïú»Ù"); } @Override public void contextInitialized(ServletContextEvent sce) { sce.getServletContext().log("Æô¶¯Ï̳߳Ø"); // Start a thread pool to deal with different task; PoolManager.pool = Executors.newFixedThreadPool(10); sce.getServletContext().log("Æô¶¯¶¨Ê±Æ÷"); //Create a Daemon timer thread Timer timer=new Timer(true); // ÿ¸ô10ÃëÖÓÖ´ÐÐÈÎÎñ timer.schedule(new MyTimerTask(sce.getServletContext()), 0,10 * 1000); sce.getServletContext().log("ÒѾÌí¼ÓÈÎÎñµ÷¶È±í"); } }MyTimeTask.java
package BackStage; import java.util.TimerTask; import javax.servlet.ServletContext; import Support.PoolManager; public class MyTimerTask extends TimerTask { private ServletContext context = null; private int param; public MyTimerTask(ServletContext context) { this.context = context; } @Override public void run() { context.log("¿ªÊ¼Ö´ÐÐÖ¸¶¨¶¨•rÈÎÎñ"); // TODO ×Ô¶¨Òå System.err.println("ºÅ³ÆÃ¿10ÃëÖÓÅÜÒ»´ÎŶ£¡ÎÒÒªµ÷ÓÃÏ̳߳ØÈ¥Ö´ÐÐÁíÍâµÄÈÎÎñ"); //ÈÃÏ̳߳ØÈ¥ÅÜÒ»¸öÈÎÎñ PoolManager.pool.execute(new WorkThread(param++)); context.log("Ö¸¶¨¶¨•rÈÎÎñÖ´ÐнáÊø"); } }PoolManager.java
package Support; import java.util.concurrent.ExecutorService; public class PoolManager { public static ExecutorService pool; }WorkThread.java
package BackStage; public class WorkThread implements Runnable { private int param; public WorkThread(int param) { this.param = param; } @Override public void run() { // TODO Do something System.err.println("ÎÒ±»Ï̳߳ص÷ÓÃÖ´ÐÐÀ²~£¡²ÎÊý£º" + param); } }web.xmlƬ¶Î
<listener> <listener-class>Listeners.StartupListener</listener-class> </listener>
ÍÆ¼öÐÅÏ¢
- ÔÝÎ޼Ǽ
ÈÈÃÅÐÅÏ¢
- nohup: redirecting stderr to stdou....
- ʹÓÃlog_formatΪNginx·þÎñÆ÷ÉèÖøüÏêϸµÄÈÕÖ¾¸ñʽ
- jquery easyUI--dataGrid-Json
- [Ô´´]·ÂGoogle Reader¡¢ÐÂÀË΢²©¡¢ÌÚѶ΢²©µ....
- ÀûÓÃKeepalived+mysql¹¹½¨¸ß¿ÉÓÃMySQLË«Ö÷×Ô¶....
- Nginx+keepalivedʵÏÖ¸ºÔؾùºâºÍË«»úÈȱ¸¸ß¿ÉÓÃ
- jqueryʵÏÖÒ³Ãæ¼ÓÔØ½ø¶ÈÌõ
- Rolling cURL: PHP²¢·¢×î¼Ñʵ¼ù
- codeigniter ·ÓÉÖÕ¼«ÓÅ»¯(url rewrite)
- linuxÏÂÉèÖÃsshÎÞÃÜÂëµÇ¼
×î½ü¸üÐÂ
- java urlÖØÐ´¼¼Êõ(UrlReWriter)
- [ת]JavaµÄÊý×飨Array£©¡¢Vector¡¢ArrayLis....
- jsp»·¾³ÏÂajaxÂÒÂëÎÊÌâµÄ½â¾ö
- JSP¼¼Êõ Ö¸Áî ÂÒÂëÎÊÌâ ÔËÐÐÔÀíºÍ¾Å´óÒþʽ¶ÔÏó web¿ª·¢µÄË....
- JAVA ˮӡ ͼƬ ÎÄ×Ö
- java¶þ½øÖÆ£¬ÔÂë¡¢·´Âë¡¢²¹Â롢λÔËËã
- Java WebÓ¦ÓÃÆô¶¯¼ä¸ôÖ´ÐеijÌÐò
- jspÉú³ÉxmlÎļþʾÀý
- javaÖÐÀà±äÁ¿¡¢Àà·½·¨¡¢ÊµÀý±äÁ¿¡¢ÊµÀý·½·¨
- JSPÒ³ÃæµÄÎåÖÖÌø×ª·½·¨
ÆÀÂÛ