我需要在特定时间每天向很多设备发送SOAP消息。我将从web.xml中的tomcat参数获取时间。喜欢的东西;
<context-param>
<param-name>DailyTime</param-name>
<param-value>04:00</param-value>
</context-param>
我必须创建一个发送消息的单独线程。时间将是24小时格式。
问题是,作为首发,我不知道从哪里开始或如何做到这一点。请你们指点我正确的方向或给我一些提示,这对我有很大帮助。
谢谢大家:)
答案 0 :(得分:0)
您有几种选择。我过去最常用的两个是:
1)安排一个cron作业在你想要的时间运行,并让它调用一个可执行的java类/ jar文件。
2)使用Quartz
之类的调度程序库关于#1 - 这假设您正在使用* nix系统。如果您使用的是Windows,则可以通过Task Scheduler安排任务。
关于#2 - 这使您可以更灵活地运行任务/作业。例如,您可以将作业安排为每1分钟运行一次,但不能在任何现有作业完成之前启动新作业。
来自大约2006年的Quartz版本的轶事评论 - 在WebSphere上,似乎我的石英作业被一些后台线程执行,这使得工作需要花费数小时才应该花费几秒钟。但那是差不多十年前的事了,当然石英(希望是websphere)已经大大改善了。