You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "stephane Ricci (JIRA)" <ji...@apache.org> on 2019/04/15 08:23:00 UTC

[jira] [Created] (KARAF-6237) Karaf Scheduler reschedule failed because the function lost the job reference (After reschedule job is null)

stephane Ricci created KARAF-6237:
-------------------------------------

             Summary: Karaf Scheduler reschedule failed because the function lost the job reference (After reschedule job is null)
                 Key: KARAF-6237
                 URL: https://issues.apache.org/jira/browse/KARAF-6237
             Project: Karaf
          Issue Type: Bug
          Components: karaf
    Affects Versions: 4.2.4
            Reporter: stephane Ricci


In {{KarafStdScheduler}} the {{scheduleJob}} method remove the reference to the job from the jobDataMap
{quote}jobDetail.getJobDataMap().remove(QuartzScheduler.DATA_MAP_CONTEXT);
{quote}
In {{QuartzScheduler}} the {{reschedule}} method line 261, the job reference can not be retrieve like this anymore
{quote}Object job = detail.getJobDataMap().get(DATA_MAP_OBJECT);
{quote}
The job reference could get it like this
{quote}final String contextKey = key.toString();
{quote}
{quote}JobDataMap karafContext = ((KarafStdScheduler)s).getStorage().get(contextKey);
{quote}
{quote}Object job = karafContext.get(QuartzScheduler.DATA_MAP_OBJECT);
{quote}
I have tested this fixed, it works fine but I'm not sure you want to implement it like this ?

In the same time, in the same class {{QuartzScheduler}}  a typo line 57 may be fixed 
 Quart{color:#ff0000}e{color}JobScheduler.Context instead of "Quart{color:#8eb021}z{color}JobScheduler.Context"



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)