基于服务端定时更新某程序
来源:互联网 发布:java发送邮件给多个人 编辑:程序博客网 时间:2024/06/05 19:21
这里的基于服务端的意思是将该程序放到服务端,服务端发布出去后,它会自动每小时进行更新你想要更新的程序。
在服务端又新建了一个package,附上里面的代码
import java.util.Date; import java.util.TimerTask; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import java.util.Timer; public class MyContextListener implements ServletContextListener{ private Timer timer = null; private ServletContext context = null; public void contextInitialized(ServletContextEvent event){ this.context = event.getServletContext(); timer = new Timer(true); event.getServletContext().log("定时器已启动"); //每隔一小时进行更新 timer.schedule(new MyTask(this.context),0, 1000*60*60); event.getServletContext().log("已经添加任务调度表"); } public void contextDestroyed(ServletContextEvent event){ timer.cancel(); this.context.log("定时器销毁"); this.context = null; } private static class MyTask extends TimerTask{ private static boolean isRunning = false; private ServletContext context = null; public MyTask(ServletContext context){ this.context = context; } public void run(){ if(!isRunning){ isRunning = true; context.log("开始执行指定任务"); String url = null; url = "http://localhost:9000/ServletImple/servlet/UpdateData"; //该URL是想要进行更新的程序,当然前提是这个程序也发布出去了 try { HttpURLConnection httpConnection = (HttpURLConnection)new URL(url).openConnection(); httpConnection.connect();//因为我想要更新的程序是以servlet发布出去的,所以这里是采用连接servlet的方式进行连接 BufferedReader reader = new BufferedReader(new InputStreamReader(httpConnection.getInputStream(),"utf-8")); reader.readLine(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } isRunning = false; context.log("指定任务执行结束"); }else{ context.log("上一次任务执行还未结束"); } } } }
程序很简单,就是利用了Timer和TimerTask。
注意要在web.xml中添加Listener。保证发布服务的同时定时器可以启动。
<listener> <listener-class>mking.MyContextListener</listener-class> //该定时类的路径 </listener>
将服务发布出去,发现定时器启动了,并且每隔一小时更新一下你想要更新的程序(其实就是每隔一小时运行一下那个程序,会有你想要的结果生成)。
搞定~
0 0
- 基于服务端定时更新某程序
- 基于服务端定时更新某程序
- C#winForm程序定时执行某各功能--定时检查更新
- java基于GUI的定时关机程序
- 定时无刷新更新树型控件(基于定时更新concentrator)
- 网狐服务端程序提示:版本组件需要更新
- 基于Java Socket的网络服务端小程序
- 基于gsoap的onvif discovery服务端程序主要流程
- socket编程基于UDP的服务端客户端回声程序
- 基于socket的简单tcp客户端与服务端程序
- 基于netty框架实现的TCP服务端程序
- 服务端程序
- CUDA程序的调试总结【不定时更新】
- Linux Shell脚本小程序不定时更新
- 常见Java程序猿面试题,不定时更新
- Python程序bug记录,不定时更新ing~~~~
- 基于对话框程序用ON_UPDATE_COMMAND_UI更新菜单
- 基于IAP的STM32程序更新技术
- 增加手机壁纸
- 记mybatis 一对一的小问题
- Jxls导出excel的若干方式总结(一)-- Jdbc方式( ResultSetCollection )
- 正在加载9
- Ehcache 缓存
- 基于服务端定时更新某程序
- 正在加载10
- 什么是EasyRec?
- Oracle Package包使用
- (四)查看linux系统的内核版本的方法---学习笔记
- Qt之自定义控件(开关按钮)
- android中无法获取原图宽高
- Caffe-Windows下画loss与accuracy曲线
- 文字在div中字段换行