另类中的另类 Spring quartz在集群环境下解决方案

Spring quartz在集群环境下解决方案网上有很多,大都是建立12张表,真正实现集群。如果你的定时任务不多、处理有快的话,那大可不必这么大费周折,我抱着这种心态,就开始了寻求轻巧的解决办法!!!

第一代:

绑定mac地址,指定服务器执行

第二代:

绑定mac地址+绑定context path 执行

以后随着时间的飞逝,可能还会推出几代已适应业务系统的增长,这里将第二代成果推荐给大家,欢迎拍砖探讨。


绑定mac这是手到擒来的事情,不赘述,着重介绍下获取context path的方法。

第一种办法:启动listener传值


扫描二维码关注公众号,回复: 2751405 查看本文章



第二种办法

      Spring Quartz 定时任务 一种是在spring配置文件中配置做定时任务。一种是以servlet的形式做定时任务。

一般情况下我们在Action中用这种方式来获得ServletContext:

ServletContext context=ServletActionContext.getServletContext();

进而获得我们比较熟悉的request、response、session作用域。不过request、response、session这些作用域是项目启动后才能获取到的。在Quartz中不适用。

要想在Tomcat启动的时候获得文件的上下文是不能使用上面的方式,所以:

1、web.xml中的配置:


2、在web.xml加载的时候获得ServletContext:


这样在项目还没有完全启动的情况下就可以获取上下文了。

猜你喜欢

转载自blog.csdn.net/sl0007/article/details/19903819
今日推荐