关于拦截器中参数需要传递到拦截的方法里的问题

【现状】:

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个请求,且代码已做并发处理,充分保证了 值的唯一性。

【后续】

有其他实现方法,请跟帖。

你可能感兴趣的:(关于拦截器中参数需要传递到拦截的方法里的问题)