0
スケジューラに耐久性のあるジョブが追加されました。実行時に、私は、コードの下に使用してトリガを構築しています:JobDataがAdd to Quartzのジョブに渡されません
scheduler.scheduleJob(trigger);
ジョブは、適切に実行され、私はその後、使用してこのジョブをスケジュール
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity(new TriggerKey(triggerKey))
.forJob(Constants.CAMPAIGN_MAILING_JOB_KEY)
.usingJobData("test", "test")
.startAt(new Date(runTime))
.build();
しかしJobdata(「テスト」の文字列のparam)私は仕事でヌルを与えています。これは私の仕事のコードで、
public class CampaignMessageSendingJob implements Job{
public String campaignId;
public String messageId;
@Override
public void execute(JobExecutionContext jobContext) throws JobExecutionException {
System.out.println("This JOb Was called at"+System.currentTimeMillis());
JobKey key = jobContext.getJobDetail().getKey();
JobDataMap map= jobContext.getMergedJobDataMap();
System.out.println(map.getString("test")); //This is printing NULL
}
public String getCampaignId() {
return campaignId;
}
public void setCampaignId(String campaignId) {
this.campaignId = campaignId;
}
public String getMessageId() {
return messageId;
}
public void setMessageId(String messageId) {
this.messageId = messageId;
}
}
私はここで何をしないのですか? JobStore実装として
のSystem.out.printlnを試してみてください(jobContext.getMergedJobDataMap()。getString( "test")); --NULL \t \t System.out.println(jobContext.getJobDetail()。getJobDataMap()。getString( "test")); --NULL \t \t System.out.println(jobContext.getTrigger()。getJobDataMap()。getString( "test")); --NULL – zee
context.getJobDetail()。getJobDataMap()。get( "test") –
うまくいけば上記を試してください... –