正しく取得した場合、Quartz JobBuilderを使用して独自のjobDetailsクラスを使用してQuartz JobDetailオブジェクトを構築できます。もしあなたがそれを要求されていなければ、私に知らせてください。
ジョブ情報がジョブ詳細を持つ独自のクラスであるとします。以下のように使用することができます:
JobDataMap jobDataMap =新しいJobDataMap();
Map<String, Object> jobParams = jobInfo.getJobParams();
for (String paramKey : jobParams.keySet()) {
jobDataMap.put(paramKey, jobParams.get(paramKey));
}
jobBuilder.ofType((Class<? extends Job>) Class.forName(jobInfo.getJobClass()))
.withIdentity(jobInfo.getName(), jobInfo.getGroup())
.withDescription(jobInfo.getDescription()).storeDurably(jobInfo.isStoreDurably())
.usingJobData(jobDataMap);
JobDetail jobDetail = jobBuilder.build();
です。あなたがしていないことを想いましょう。オブジェクトのインスタンスを回復するためにSingletonパターンを使用するとどうなりますか? – RubioRic
SpringにMethodInvokingJobDetailFactoryBeanがあります。もう1つのオプションは、オブジェクトを(ジョブデータなどから)取り出して呼び出すジョブクラスを作成することです。 – BobTheBuilder
もしあなたがSpringを使っているなら、ここにはたくさんの解決策がありますhttp://stackoverflow.com/questions/6990767/inject-bean-reference-into-a-quartz-job-in-spring – RubioRic