Java 如何将数据传递给作为调用JobDetailFactoryBean的方法运行的方法?

Java 如何将数据传递给作为调用JobDetailFactoryBean的方法运行的方法?,java,spring,quartz-scheduler,Java,Spring,Quartz Scheduler,我真正想做的是创建一个Quartz作业,它不并发运行,但也可以访问JobExecutionContext,以获取previousFireTime。这是我的目标: // imports... public class UtilityObject { private SomeService someService; @Autowired public UtilityObject(SomeService someService) { this.someSe

我真正想做的是创建一个Quartz作业,它不并发运行,但也可以访问
JobExecutionContext
,以获取
previousFireTime
。这是我的目标:

// imports...

public class UtilityObject {

    private SomeService someService;

    @Autowired
    public UtilityObject(SomeService someService) {
        this.someService = someService;
    }

    public void execute(JobExecutionContext ctx) throws JobExecutionException {
        Date prevDate = ctx.getPreviousFireTime();

        // rest of the code...
    }
}
下面是我如何配置bean的:

<bean name="utilityBean" class="UtilityObject" />

<bean id="utilityJob"
    class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
   <property name="targetOjbect" ref="utilityBean" />
   <property name="targetMethod" value="execute" />
   <property name="concurrent" value="false" />
</bean>

<bean name="utilityTrigger"
    class="org.springframework.scheduling.quartz.SimpleTriggerBean">
    <property name="jobDetail" ref="utilityJob" />
    <property name="startDelay" value="5000" />
    <property name="repeatInterval" value="20000" />
</bean>

对不起,格式很奇怪;这是一些长长的队伍

MethodInvokingJobDetailFactoryBean
很方便,但是很原始-它只能执行没有参数的公共方法


如果作业需要访问Quartz API,则需要使用
JobDetailBean
QuartzJobBean
而不是
MethodInvokingJobDetailFactoryBean
。有关如何操作的说明,请参阅。
QuartzJobBean
在运行时被传递给当前的
JobExecutionContext

可以使用arguments属性将参数传递给
MethodInvokingJobDetailFactoryBean
,方法与spring
MethodInvokingFactoryBean
相同

例如:

<bean id="myJob"
      class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject" ref="myBean" />
    <property name="targetMethod" value="myMethod" />
    <property name="arguments">
        <list>
            <value>greetings</value>
            <ref bean="anotherBean"/>
        </list>
    </property>
</bean>

问候语

谢谢。我正在修改我的问题,以包括我在阅读你的答案后最终得出的答案。
<bean id="myJob"
      class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject" ref="myBean" />
    <property name="targetMethod" value="myMethod" />
    <property name="arguments">
        <list>
            <value>greetings</value>
            <ref bean="anotherBean"/>
        </list>
    </property>
</bean>