Je cherche à rendre la dynamique appel de méthode suivante:Comment obtenir une référence de classe par nom de chaîne?
JobDetail job = newJob(RunMeJob.class)
.withIdentity("myJob", "group1")
.build();
En procédant comme suit:
private void scheduleJob(final SchedulerJob job, final SchedulerTrigger trigger) {
final String fullyQualifiedName = "com.crm.scheduler.job.RunMeJob";//"com.crm.scheduler.job" + job.getImplementation();
Class<?> cls = Class.forName(fullyQualifiedName, false, null);
JobDetail jobDetail = newJob(cls)
.withIdentity(job.getExternalReference(), trigger.getExternalReference())
.build();
}
Mais je reçois l'erreur suivante:
The method newJob(Class< ? extends Job>) in the type JobBuilder is not applicable for the arguments (Class< capture#3-of ?>)
Voici la RunMeJob
classe:
package com.crm.scheduler.job;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.stereotype.Component;
import com.crm.scheduler.task.RunMeTask;
@Component
public class RunMeJob implements Job {
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
new RunMeTask().printMe();
}
}
Comment puis-je spécifier dynamiquement la classe?
Pouvez-vous partager la signature de 'newJob' s'il vous plaît? – Mureinik