在项目中用到了spring 的quartz但是有点问题,就是在配置调用的方法时,我想调用带参数的方法,不知道怎么配置,牛人请指教一下!1
下边我贴出代码:
配置文件
<beans>              
<!-- 要调用的工作类 -->         
<bean id="reportTimer" class="javacommon.util.ReportAndVoteTimer"></bean>  
<!-- 定义调用对象和调用对象的方法 -->         
<bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">             
<!-- 调用的类 -->             
<property name="targetObject">                 
<ref bean="reportTimer"/>             
</property>             <!-- 调用类中的方法 -->             
<property name="targetMethod">                 
<value>deleteReportRecord</value>             
</property> 
</bean>  
      <!-- 定义触发时间 -->         
<bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean">             
<property name="jobDetail">                 
<ref bean="jobtask"/>             
</property>             
<!-- cron表达式 执行时间每天0:00:00-->             
<property name="cronExpression">                 
<value>0 00 00 * * ? *</value>             
</property>         
</bean>  <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序  -->         
<bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">             
<property name="triggers">                 
<list>                     
<ref bean="doTime"/> 
</list>             
</property>         
</bean>       </beans>说明,在ReportAndVoteTimer类中有个方法deleteReportRecord(),因为在这个方法中要用到项目的绝对或者相对路径,需要用request,所以我想在这个方法中传2个参数HttpServletRequest request,HttpServletResponse response,请问配置文件中怎么配呢?

解决方案 »

  1.   

    我昨天也碰到这样的问题,就是ReportAndVoteTimer类中的属性通过在配置文件中配置参数来获取,这样比较灵活。研究了好久,以为用向bean注入<property>,但或不到值。后面我是这样解决了:在jobtask这个bean中注入一个<property name="jobDataAsMap">
             <map>
               <entry key="XXXX" value="XXXX"/>
                
               <entry key="XXX" value-ref="xxx"/> 
             </map>
           </property>

    然后在ReportAndVoteTimer里面获取值:
    Map dataMap = jctx.getJobDetail().getJobDataMap();

    String XXX = (String)dataMap.get("XXX");不知道楼主您是想要这样的答案吗?刚学习Quartz,很多地方不懂,但是这样做解决了我自己的问题。可发了好几个小时才发现的哦,看书没看懂,所以学起来比较吃力。。呵呵,希望能对你有帮助。。
      

  2.   

    我不是要bean中的属性,我是要在bean的方法中获得传递的参数,我是不知道怎么在xml文件中配置带参数的方法