You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by Enrico Olivelli <eo...@gmail.com> on 2012/08/21 19:07:31 UTC

main Quartz scheduler is shutdown even if there is an app which requires it

I deployed two (web) applications which use EJB Timeouts
They use the system wide scheduler

when I undeploy one app the main scheduler is shutdown and the other app 
EJB timeout does not work anymore
steps:
1) deploy app A
2) deploy app B
3) undeploy app B
--> app A timeout is never called and in tomee logs there is a 
"Scheduler OpenEJB-TimerService-Scheduler_$_InstanceA shutdown complete."

I have a custom configuration in system.properties
looking in EBJTimerImpl.java It seems that my app would have to create 
its own scheduler (because I configured at least one property 
org.quartz....)
but it gets the main scheduler

It seems to me tha *StdSchedulerFactory return always the same scheduler 
if you don't set  org.quartz.scheduler.instanceName
*http://grepcode.com/file/repo1.maven.org/maven2/org.quartz-scheduler/quartz/1.8.2/org/quartz/impl/StdSchedulerFactory.java#StdSchedulerFactory.getSchedulerName%28%29

I think that is better to provide automatically 
*org.quartz.scheduler.instanceName* and 
*org.quartz.scheduler.instanceId* for each scheduler


I'm trying to bundle a module.properties/application.properties in order 
to create a custom config for the app
it is a web application, which file should I create?
WEB-INF/module.properties (https://issues.apache.org/jira/browse/TOMEE-386)
WEB-INF/application.properties
META-INF/module.properties
META-INF/application.properties
classes/METAINF/module.properties
classes/META-INF/application.properties



Re: main Quartz scheduler is shutdown even if there is an app which requires it

Posted by Romain Manni-Bucau <rm...@gmail.com>.
about the instancename: we set one if noone is provided, that's what we
globally wants: a single scheduler (case where quartz is customized are not
the default one). So we want to avoid to provide as many scheduler as beans
by default. Is it such a drawback? IMO when using a custom scheduler we
often specify a custom name no?

About the instance id the point is some other properties can change it too
and by default auto mode should be enough for not clustered modes.

About the properties files WEB-INF/application.properties should be fine.

about undeploy behavior that's a bit weird, are you in clustered mode? it
could explain it. i just pushed a change with this hypothesis if you can
give it a try it'd be awesome

*Romain Manni-Bucau*
*Twitter: @rmannibucau*
*Blog: http://rmannibucau.wordpress.com*




2012/8/21 Enrico Olivelli <eo...@gmail.com>

> I deployed two (web) applications which use EJB Timeouts
> They use the system wide scheduler
>
> when I undeploy one app the main scheduler is shutdown and the other app
> EJB timeout does not work anymore
> steps:
> 1) deploy app A
> 2) deploy app B
> 3) undeploy app B
> --> app A timeout is never called and in tomee logs there is a "Scheduler
> OpenEJB-TimerService-**Scheduler_$_InstanceA shutdown complete."
>
> I have a custom configuration in system.properties
> looking in EBJTimerImpl.java It seems that my app would have to create its
> own scheduler (because I configured at least one property org.quartz....)
> but it gets the main scheduler
>
> It seems to me tha *StdSchedulerFactory return always the same scheduler
> if you don't set  org.quartz.scheduler.**instanceName
> *http://grepcode.com/file/**repo1.maven.org/maven2/org.**
> quartz-scheduler/quartz/1.8.2/**org/quartz/impl/**
> StdSchedulerFactory.java#**StdSchedulerFactory.**getSchedulerName%28%29<http://grepcode.com/file/repo1.maven.org/maven2/org.quartz-scheduler/quartz/1.8.2/org/quartz/impl/StdSchedulerFactory.java#StdSchedulerFactory.getSchedulerName%28%29>
>
> I think that is better to provide automatically *org.quartz.scheduler.**instanceName*
> and *org.quartz.scheduler.**instanceId* for each scheduler
>
>
> I'm trying to bundle a module.properties/application.**properties in
> order to create a custom config for the app
> it is a web application, which file should I create?
> WEB-INF/module.properties (https://issues.apache.org/**
> jira/browse/TOMEE-386 <https://issues.apache.org/jira/browse/TOMEE-386>)
> WEB-INF/application.properties
> META-INF/module.properties
> META-INF/application.**properties
> classes/METAINF/module.**properties
> classes/META-INF/application.**properties
>
>
>