[
https://issues.apache.org/jira/browse/KARAF-7107?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Róbert Csákány updated KARAF-7107:
----------------------------------
Description:
I've made some JDBC persisted Quartz scheduler config. My problem is that after
restart the scheduler cannot deserialize JobDetails, and log the following
error message:
We are using Runnable interface and whiteboiard patter to register scheduled
services. We would like to use multiple nodes and there is jobs which cannot
run on parallel nodes. So I decided to persist Jobs in JDBC DataSource and it
have been set as NonParallel.
The first run is okay. After karaf restart all of the JobDetails shown error
messages:
22:34:51.795 *ERROR* [Judo_Worker-4] Scheduled job
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor@24569822 is
neither a job nor a runnable
I checked the code and karaf creating in QuartzScheduler.java:
{code:java}
/**
* Create the job detail.
*/
private JobDetail createJobDetail(final String name,
final JobDataMap jobDataMap,
final boolean concurrent) {
return JobBuilder.newJob((concurrent ? QuartzJobExecutor.class :
NonParallelQuartzJobExecutor.class))
.withIdentity(name)
.usingJobData(jobDataMap)
.build();
} {code}
And it is saved to Database as JobDetail.
The qrtz_job_details table contains:
{code:java}
Judo BejelentesekDetailProcessor.518 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo EmailSendingProcessor.519 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo SynchronizeNewBejelentesek.520 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo SynchronizeNewBejelentesek.521 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo SynchronizeUnprocessedErtesitesek.522 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo BejelentesekDetailProcessor.516 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo EmailSendingProcessor.517 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo SynchronizeNewBejelentesek.518 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo SynchronizeNewBejelentesek.519 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo SynchronizeUnprocessedErtesitesek.520 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
{code}
And we are using Runnable as scheduled item. The other problem is the karaf
Job interface is also not extending quartz Job or java Runnable interface, so
the problem is same. I've checked the whiteboard tracker and it's only tracking
for karaf Job and java Runnable.
was:
I've made some JDBC persisted Quartz scheduler config. My problem is that after
restart the scheduler cannot deserialize JobDetails, and log the following
error message:
22:34:51.795 *ERROR* [Judo_Worker-4] Scheduled job
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor@24569822 is
neither a job nor a runnable
I checked the code and karaf creating in QuartzScheduler.java:
{code:java}
/**
* Create the job detail.
*/
private JobDetail createJobDetail(final String name,
final JobDataMap jobDataMap,
final boolean concurrent) {
return JobBuilder.newJob((concurrent ? QuartzJobExecutor.class :
NonParallelQuartzJobExecutor.class))
.withIdentity(name)
.usingJobData(jobDataMap)
.build();
} {code}
And it is saved to Database
The qrtz_job_details table contains:
{code:java}
Judo BejelentesekDetailProcessor.518 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo EmailSendingProcessor.519 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo SynchronizeNewBejelentesek.520 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo SynchronizeNewBejelentesek.521 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo SynchronizeUnprocessedErtesitesek.522 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo BejelentesekDetailProcessor.516 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo EmailSendingProcessor.517 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo SynchronizeNewBejelentesek.518 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo SynchronizeNewBejelentesek.519 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
Judo SynchronizeUnprocessedErtesitesek.520 DEFAULT
org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
false false
{code}
And
> JDBC Persisted scheduler log errors after restart when the Job implemented as
> Runnable
> --------------------------------------------------------------------------------------
>
> Key: KARAF-7107
> URL: https://issues.apache.org/jira/browse/KARAF-7107
> Project: Karaf
> Issue Type: Bug
> Components: karaf
> Affects Versions: 4.2.9
> Reporter: Róbert Csákány
> Priority: Major
>
> I've made some JDBC persisted Quartz scheduler config. My problem is that
> after restart the scheduler cannot deserialize JobDetails, and log the
> following error message:
> We are using Runnable interface and whiteboiard patter to register scheduled
> services. We would like to use multiple nodes and there is jobs which cannot
> run on parallel nodes. So I decided to persist Jobs in JDBC DataSource and it
> have been set as NonParallel.
> The first run is okay. After karaf restart all of the JobDetails shown error
> messages:
> 22:34:51.795 *ERROR* [Judo_Worker-4] Scheduled job
> org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor@24569822 is
> neither a job nor a runnable
> I checked the code and karaf creating in QuartzScheduler.java:
> {code:java}
> /**
> * Create the job detail.
> */
> private JobDetail createJobDetail(final String name,
> final JobDataMap jobDataMap,
> final boolean concurrent) {
> return JobBuilder.newJob((concurrent ? QuartzJobExecutor.class :
> NonParallelQuartzJobExecutor.class))
> .withIdentity(name)
> .usingJobData(jobDataMap)
> .build();
> } {code}
> And it is saved to Database as JobDetail.
> The qrtz_job_details table contains:
> {code:java}
> Judo BejelentesekDetailProcessor.518 DEFAULT
> org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
> false false
> Judo EmailSendingProcessor.519 DEFAULT
> org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
> false false
> Judo SynchronizeNewBejelentesek.520 DEFAULT
> org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
> false false
> Judo SynchronizeNewBejelentesek.521 DEFAULT
> org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
> false false
> Judo SynchronizeUnprocessedErtesitesek.522 DEFAULT
> org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
> false false
> Judo BejelentesekDetailProcessor.516 DEFAULT
> org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
> false false
> Judo EmailSendingProcessor.517 DEFAULT
> org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
> false false
> Judo SynchronizeNewBejelentesek.518 DEFAULT
> org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
> false false
> Judo SynchronizeNewBejelentesek.519 DEFAULT
> org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
> false false
> Judo SynchronizeUnprocessedErtesitesek.520 DEFAULT
> org.apache.karaf.scheduler.core.NonParallelQuartzJobExecutor false true
> false false
> {code}
>
> And we are using Runnable as scheduled item. The other problem is the karaf
> Job interface is also not extending quartz Job or java Runnable interface, so
> the problem is same. I've checked the whiteboard tracker and it's only
> tracking for karaf Job and java Runnable.
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)