getting the HEAD you should get some info through JMX *Romain Manni-Bucau* *Twitter: @rmannibucau* *Blog: http://rmannibucau.wordpress.com*
2012/8/22 Romain Manni-Bucau <[email protected]> > great to hear you like tomee :) > > if you want to write docs please do, we'll be happy to integrate them in > our doc pages :) > > the comman dis not bad and we have already some command pattern (for tomee > maven plugin, karafee and ssh console), could even be done through JMX i > think, it is clearly something to think a bit more but can be a great added > value > > *Romain Manni-Bucau* > *Twitter: @rmannibucau* > *Blog: http://rmannibucau.wordpress.com* > > > > > 2012/8/22 Enrico Olivelli <[email protected]> > >> I did a build on trunk and now undeploy of triggers works great >> >> I tested a scenario with two apps: >> - one uses the "default scheduler" >> - one uses a custom scheduler defined in WEB-INF/application.conf >> When I undeploy one app triggers are deleted from the "right" db and the >> other scheduler continues to work >> >> This feature was important because when you reload your app (during >> development) you would like >> - to rename your EJBTimered-bean >> - to change automatic timers defined with @Schedule (before this >> enhancement if you declared your timer to be executed once a minute, you >> could not change it without dropping/recreating quartz tables) >> >> For me it's all OK about Quartz now >> Some docs/examples have to be written because configuring a >> persistent/clustered Quartz is not very simple (I can write it) >> >> I'm coming from GF3, I think that now TomEE 1.1 is better than it !!! >> http://docs.oracle.com/cd/**E18930_01/html/821-2418/beahw.**html<http://docs.oracle.com/cd/E18930_01/html/821-2418/beahw.html> >> >> From the GF command line you can list timers >> http://docs.oracle.com/cd/**E19798-01/821-1751/giojd/**index.html<http://docs.oracle.com/cd/E19798-01/821-1751/giojd/index.html> >> maybe it would be usefull to have such command and a command to erase a >> trigger (because undeploy of the trigger failed and there is no way to drop >> it) >> but I really do not need these commands >> >> great job ! >> thank you >> - Enrico >> >> >> Il 21/08/2012 20:25, Romain Manni-Bucau ha scritto: >> >>> unscheduled the trigger job however not sure it is the only cause. >>> >>> btw your lines are no more up to date i think so not sure of the cause, >>> >>> can you give it try with the up to date snapshot please? >>> >>> *Romain Manni-Bucau* >>> *Twitter: @rmannibucau* >>> *Blog: http://rmannibucau.wordpress.**com<http://rmannibucau.wordpress.com> >>> * >>> >>> >>> >>> >>> 2012/8/21 Enrico Olivelli <[email protected]> >>> >>> When I undeploy an app with an EJB timer, the trigger is not removed, so >>>> when quartz tries to reload the trigger from DB gets a NullPointer >>>> exception >>>> I suggest: >>>> - to remove triggers/jobdata from Quartz on "undeploy" >>>> - to handle this situation, maybe tring to remove the failing trigger >>>> (or >>>> give quartz a "noop" task?!?!?) >>>> >>>> >>>> rave: MisfireHandler: Error handling misfires: Couldn't retrieve >>>> trigger: >>>> null >>>> org.quartz.****JobPersistenceException: Couldn't retrieve trigger: null >>>> [See nested exception: java.lang.****NullPointerException] >>>> at org.quartz.impl.jdbcjobstore.****JobStoreSupport.**** >>>> retrieveTrigger(** >>>> JobStoreSupport.java:1524) >>>> at org.quartz.impl.jdbcjobstore.****JobStoreSupport.** >>>> recoverMisfiredJobs(****JobStoreSupport.java:968) >>>> at org.quartz.impl.jdbcjobstore.****JobStoreSupport.**** >>>> doRecoverMisfires( >>>> **JobStoreSupport.java:3187) >>>> at org.quartz.impl.jdbcjobstore.****JobStoreSupport$** >>>> MisfireHandler.manage(****JobStoreSupport.java:3947) >>>> at org.quartz.impl.jdbcjobstore.****JobStoreSupport$** >>>> MisfireHandler.run(****JobStoreSupport.java:3968) >>>> Caused by: java.lang.NullPointerException >>>> at org.apache.openejb.core.timer.****EjbTimerServiceImpl.** >>>> getDefaultScheduler(****EjbTimerServiceImpl.java:121) >>>> at org.apache.openejb.core.timer.****EjbTimerServiceImpl.**** >>>> readObject(** >>>> EjbTimerServiceImpl.java:117) >>>> at sun.reflect.****NativeMethodAccessorImpl.****invoke0(Native >>>> Method) >>>> at sun.reflect.****NativeMethodAccessorImpl.****invoke(** >>>> NativeMethodAccessorImpl.java:****57) >>>> at sun.reflect.****DelegatingMethodAccessorImpl.****invoke(** >>>> DelegatingMethodAccessorImpl.****java:43) >>>> >>>> >> >
