【现状】:
1、 定时器用的是Spring3.0的配置文件定时器
<task:scheduler id="scheduler" pool-size="10"/>
<task:scheduled-tasks scheduler="scheduler">
<task:scheduled ref="task" method="taskByDemo" cron="*/5 * * * * *"/>
<!-- 此处添加其他定时器 -->
</task:scheduled-tasks>
2、 taskByDemo方法使用了拦截器
【要求】
在拦截器中需要把参数传递到拦截到的方法taskByDemo中使用
【分析】
1、貌似Spring3.0的这种配置方式指定定时器method中不允许传参数(看了很多资料未发现,大拿有知道的可以call me下);
2、 貌似拦截器里可以获取 传递的参数,但由于条件1的限制(即使条件1可以,拦截器里也没有重新修改参数的方法,重写源码就算了),没辙。
【方案】
为了达到可以传递给方法传参的效果,定义了一个全局变量 map,拦截器拦截到的时候 map put值 ,执行方法的时候 在get值。搞定。
注:由于拦截器里考虑了不会有同时2个请求,且代码已做并发处理,充分保证了 值的唯一性。
【后续】
有其他实现方法,请跟帖。