Just for info, scheduling the job manually via scheduler.schedule(job, options) made the extra configuration available during job execution. I just had to inject (and call) the interface org.apache.karaf.scheduler.Scheduler and not the QuartzScheduler implementation as the implementation i think is not made available as an exported package. Thank you again.
На ср, 14.04.2021 г. в 10:34 ч. Jean-Baptiste Onofre <[email protected]> написа: > Don’t hesitate to ping me if you have any question or issue. > > Regards > JB > > Le 14 avr. 2021 à 08:06, Васил Зорев <[email protected]> a écrit : > > Yes, i saw this this morning, and provided a sample scheduling in the > second thread message via scheduler.schedule(job, options). > I didn't try it yet but will do later today and if you also say that's the > way to go i hope it will work as is :) > > Regards, > Vassil > > На ср, 14.04.2021 г. в 8:48 ч. Jean-Baptiste Onofre <[email protected]> > написа: > >> Hi Vassil, >> >> Yes, you are right about the service properties: it’s "only" the "core" >> scheduler property (like cron syntax, etc). >> >> It’s basically the ScheduleOptions you can pass directly via the >> scheduler service: >> >> scheduler.schedule(job, options); >> >> In the ScheduleOptions, you can pass a Map<String, Serializable>: >> >> options.config(myconfig); >> >> This should be passed to the JobContext. >> >> Is it what you are doing ? >> >> Regards >> JB >> >> Le 14 avr. 2021 à 07:36, Васил Зорев <[email protected]> a écrit : >> >> Hi Jean-Baptiste, >> >> Thank you for your input. >> If i got it right, via the job service properties i can only set the >> config values defined in org.apache.karaf.scheduler.Scheduler, such as >> scheduler.period, scheduler. times, scheduler. expression etc. >> I mean to access "extra" configuration via JobContext.getConfiguration(). >> >> Please elaborate a bit on the manipulating the JobContext part. I am not >> on my home pc currently so cannot check the wiring you mention, but will do >> later today probably. What kind of check exactly do you mean? >> >> Regards, >> Vassil >> >> На ср, 14.04.2021 г. в 8:15 ч. Jean-Baptiste Onofre <[email protected]> >> написа: >> >>> Hi, >>> >>> By default, the scheduler config are passed via the job service >>> properties. >>> >>> If you want more "control", like manipulating the JobContext, it’s also >>> possible. You have to import the scheduler package in your job controller. >>> >>> Can you check the wiring ? >>> >>> Regards >>> JB >>> >>> Le 13 avr. 2021 à 19:45, Васил Зорев <[email protected]> a écrit >>> : >>> >>> Hello, >>> >>> Following the karaf-scheduler-example for a Runnable service ( >>> https://github.com/apache/karaf/tree/main/examples/karaf-scheduler-example/karaf-scheduler-example-runnable) >>> i implemented a similar Job-based service. Please see attached the Job >>> itself and its pom.xml. I placed it in a module within the existing >>> examples project only for local testing purpose, so please don't mind the >>> official groupId/package.. >>> >>> Then the job was executed 5 times as expected, but each time if i tried >>> to read from the JobContext the configuration attribute, it is always null >>> (org.apache.karaf.scheduler.JobContext#getConfiguration). I tried to figure >>> out by looking at the scheduler sources >>> (org.apache.karaf.scheduler.core.QuartzScheduler) how the job is scheduled, >>> but couldn't find that there is any configuration set there in any case. >>> Please tell me if i missed something, if such configuration would be >>> available to the job implementor at all in any case, and what to expect >>> there ? >>> >>> >>> Hope you got my question.. >>> >>> Thank you, >>> >>> Regards, >>> >>> Vassil Zorev >>> <SampleJob.java><pom.xml> >>> >>> >>> >> >
