Hi!
What do you mean with reproduce?
If you want, I can provide you a simple example that doesn't work.
Best regards,
Thomas
From: Romain Manni-Bucau [via OpenEJB]
[mailto:[email protected]]
Sent: Montag, 5. November 2012 16:18
To: Thomas Schuler
Subject: Re: Use external database for persistent timer service
Hi,
can you reproduce it?
normally timeoutMethod can't be null
*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*
2012/11/5 tschuler <[hidden
email]</user/SendEmail.jtp?type=node&node=4658374&i=0>>
> Hi!
>
> I successfully configured tomee for using an external database to enable a
> persistent timer service.
> I tried the TimerSessionBean example within the JavaEE6 Tutorial
> (http://docs.oracle.com/javaee/6/tutorial/doc/bnboy.html).
> The quartz database tables get the job informations, but I face a problem
> with programmatically added timeouts:
> They don't seem to be executed, about 90 seconds after the trigger time the
> following message is written to the log file:
>
> [Timestamp] org.quartz.impl.jdbcjobstore.JobStoreSupport
> recoverMisfiredJobs
> INFO: Handling 2 trigger(s) that missed their scheduled fire-time.
> [Timestamp] org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler
> manage
> SCHWERWIEGEND: MisfireHandler: Error handling misfires: Couldn't store
> trigger
>
> 'OPEN_EJB_TIMEOUT_TRIGGER_GROUP.OPEN_EJB_TIMEOUT_TRIGGER_SchedulerBeanPersisted_1'
> for 'OPENEJB_TIMEOUT_GROUP.OPENEJB_TIMEOUT_JOB' job:null
> org.quartz.JobPersistenceException: Couldn't store trigger
>
> 'OPEN_EJB_TIMEOUT_TRIGGER_GROUP.OPEN_EJB_TIMEOUT_TRIGGER_SchedulerBeanPersisted_1'
> for 'OPENEJB_TIMEOUT_GROUP.OPENEJB_TIMEOUT_JOB' job:null [See nested
> exception: java.lang.NullPointerException]
> at
>
> org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1212)
> at
>
> org.quartz.impl.jdbcjobstore.JobStoreSupport.doUpdateOfMisfiredTrigger(JobStoreSupport.java:1026)
> at
>
> org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverMisfiredJobs(JobStoreSupport.java:975)
> 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.TimerData.writeObject(TimerData.java:120)
> at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)
> at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
> at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
> at
>
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
> at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
> at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
> at java.util.HashMap.writeObject(HashMap.java:1001)
> at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
> at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
> at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
> at
>
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
> at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
> at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
> at
>
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
> at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
> at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
> at
>
> org.quartz.impl.jdbcjobstore.StdJDBCDelegate.serializeObject(StdJDBCDelegate.java:3011)
> at
>
> org.quartz.impl.jdbcjobstore.StdJDBCDelegate.serializeJobData(StdJDBCDelegate.java:3036)
> at
>
> org.quartz.impl.jdbcjobstore.StdJDBCDelegate.updateTrigger(StdJDBCDelegate.java:1168)
> at
>
> org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1207)
> ... 5 more
>
> Having a look into TimerData.java shows that timeoutMethod seems to be
> null.
>
> What must be done to get the programmtic timeout running?
>
> Best regards,
> Thomas
>
>
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/Use-external-database-for-persistent-timer-service-tp4658321p4658373.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>
________________________________
If you reply to this email, your message will be added to the discussion below:
http://openejb.979440.n4.nabble.com/Use-external-database-for-persistent-timer-service-tp4658321p4658374.html
To unsubscribe from Use external database for persistent timer service, click
here<http://openejb.979440.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4658321&code=dGhvbWFzLnNjaHVsZXJAb3BlbnRleHQuY29tfDQ2NTgzMjF8LTE4NTIyNTQ0OTI=>.
NAML<http://openejb.979440.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
--
View this message in context:
http://openejb.979440.n4.nabble.com/Use-external-database-for-persistent-timer-service-tp4658321p4658375.html
Sent from the OpenEJB User mailing list archive at Nabble.com.