Karaf 4.3.6

I have scheduled a command to run on a cron schedule, but the command fails 
with "java.lang.IllegalStateException: session is closed" after I exit the 
Karaf client session.  The command will only run in the client session 
scheduling the command.

Since command execution can be schedule, I would expect the client session 
scheduling the command would not be required for each execution.

What is I doing wrong?


***
* Command to schedule the execution of foo:emailReport at 5PM
**
karaf@root()> scheduler:schedule-command --cron "0 0 17 * * ?" "foo:emailReport 
-r j...@example.com &"
karaf@root()> scheduler:list
Name                                      │ Schedule
──────────────────────────────────────────┼───────────────────────────────────────────
foo:emailReport -r j...@example.com       │ cron(0 0 17 * * ?)

***
* karaf.log
***
2022-05-15T17:00:00,025 | WARN  | Karaf_Worker-5   | ScriptJob                  
      | 80 - org.apache.karaf.scheduler.core - 4.3.6 | Error executing 
scheduled command foo:emailReport -r j...@example.com &
java.lang.IllegalStateException: session is closed
        at 
org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:171)
 ~[?:?]
        at 
org.apache.karaf.shell.impl.console.ConsoleSessionImpl.execute(ConsoleSessionImpl.java:496)
 ~[?:?]
        at 
org.apache.karaf.scheduler.command.support.CommandJob.execute(CommandJob.java:40)
 [!/:?]
        at 
org.apache.karaf.scheduler.core.QuartzJobExecutor.execute(QuartzJobExecutor.java:58)
 [!/:?]
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [!/:?]
        at 
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) 
[!/:?]
2022-05-15T17:03:41,930 | INFO  | Karaf_Worker-6   | 
ServiceRequestEmailReceiver      | 152 - 
com.alexanderpest.bugdata.msg-email-receiver - 2.0.2 | Message count = 554


karaf@root()> scheduler:list
Name                                      │ Schedule
──────────────────────────────────────────┼───────────────────────────────────────────
foo:emailReport -r j...@example.com &     │ cron(0 0 17 * * ?)


Paul Spencer

Reply via email to