[ 
https://issues.apache.org/jira/browse/KARAF-6237?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stephane Ricci updated KARAF-6237:
----------------------------------
    Description: 
In {{KarafStdScheduler}} the {{scheduleJob}} method remove the reference to the 
job from the jobDataMap.

{{QuartzScheduler.DATA_MAP_CONTEXT}} value contains the key 
{{QuartzScheduler.DATA_MAP_OBJECT}}.
{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"

  was:
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"


> 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
>            Assignee: Jean-Baptiste Onofré
>            Priority: Major
>              Labels: scheduler
>             Fix For: 4.3.0, 4.2.5
>
>
> In {{KarafStdScheduler}} the {{scheduleJob}} method remove the reference to 
> the job from the jobDataMap.
> {{QuartzScheduler.DATA_MAP_CONTEXT}} value contains the key 
> {{QuartzScheduler.DATA_MAP_OBJECT}}.
> {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)

Reply via email to