我正在尝试构建一个创建预定作业的方法。这些工作称为URL。
public synchronized void scheduleNewJob(int jobNr, long newRate) throws NoSuchMethodException {
ScheduledFuture job = jobsMap.get(jobNr);
if (job != null) {// job was already scheduled, we have to cancel
// it
job.cancel(true);
}
// reschedule the same method with a new rate
final String methodName = "callApi";
Method method = new ApiCallerHelper().getClass().getMethod(methodName, String.class);
job = taskScheduler
.scheduleAtFixedRate(new ScheduledMethodRunnable(targetClass, method), newRate);
要做到这一点,我需要将URI参数传递给我的方法(callApi)。
有可能这样做吗?或者更好的方式?
答案 0 :(得分:1)
根据ScheduledMethodRunnable上的Spring documentation:
...意味着用于处理无法预定的方法。
我猜你可以使用参数化构造函数创建一个类包装器。用其中的预定方法包装一个类。并且从调度方法引用param,而方法本身仍然是no-arg和void-returns。