Joe
Joe

Reputation: 4542

How to call spring scheduler from UI

I have defined a spring scheduler and it works automatically based on the cron i gave but i would like to call the scheduler from UI so that this scheduler can be run whenever some one wants to run.

<bean id="schedulerToCall" class="validPackagename.schedulerToCallTask" />

I would like to call this spring bean in some controller manually.

how to call that ?

Thanks

Upvotes: 0

Views: 1613

Answers (2)

Jerry Z.
Jerry Z.

Reputation: 2051

for example your context config is like this:

<bean id="schedulerToCall" class="validPackagename.SchedulerToCallTask" />
<task:scheduled-tasks>
    <task:scheduled ref="schedulerToCall" method="runTaskMethod" cron="0 1 0 * * MON"/>
</task:scheduled-tasks>

In SchedulerToCallTask.java:

@Component
public class SchedulerToCallTask{

In the controller class you can just:

@Resource
SchedulerToCallTask schedulerToCallTask;

In the controller function you want to call this task:

schedulerToCallTask.runTaskMethod();

Upvotes: 1

street hawk
street hawk

Reputation: 625

If I understood your query correctly. since cron runs based on the cron parameters, you need to pass the current time in the cron parameter. Also that cron parameters should be passed dynamically when the use want to run.

eg:

<task:scheduled ref="cronService" method="runCron" cron="* 0 0 * * ?"></task:scheduled>

Upvotes: 0

Related Questions