Hi Romain!

Attached application.properties and tomee.xml used for testing timer 
persistence.
We did not configure org.quartz.scheduler.classLoadHelper.class.
The simple example is a war file.
Should I try openejb.quartz.use-TCCL=true with an ear file too?

Best regards,
        Thomas


-----Original Message-----
From: Romain Manni-Bucau [mailto:[email protected]] 
Sent: Dienstag, 21. Mai 2013 11:14
To: [email protected]
Subject: Re: Timer service - different behaviour if external quartz tables are 
used or not

Did you configure org.quartz.scheduler.classLoadHelper.class? If not you should 
be ok.

Which config do you use?

Do you deploy an ear?

*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*



2013/5/21 Thomas Schuler <[email protected]>

> Hi Romain!
>
> I tried both adding openejb.quartz.use-TCCL=true to 
> application.properties or system.properties as you suggested.
> But I still got the same behavior as described before.
>
> Best regards,
>         Thomas
>
> -----Original Message-----
> From: Romain Manni-Bucau [mailto:[email protected]]
> Sent: Dienstag, 21. Mai 2013 10:27
> To: [email protected]
> Cc: [email protected]
> Subject: Re: Timer service - different behaviour if external quartz 
> tables are used or not
>
> hi
>
> did you try adding openejb.quartz.use-TCCL=true to either 
> application.properties or system.properties?
>
> *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*
>
>
>
> 2013/5/21 tschuler <[email protected]>
>
> > Hi!
> >
> > We want to use scheduled beans (TomEE 1.6.0 snapshot - about two 
> > weeks
> > old) and add an own Serializable object (TimerData) while timer
> creation, e.g.
> > timerService.createTimer(Date, TimerData).
> >
> > We observed a different behaviour if persistence for timers is used 
> > or
> not.
> >
> > -----
> >
> > No timer persistence (as configured for an out of the box TomEE):
> > The scheduled bean is triggered, the TimerData object is available
> > (timer.getInfo())
> >
> > -----
> >
> > Timer persistence is activated and an external database is used:
> > The scheduled bean is not triggered, the following exception occurs:
> >
> > SCHWERWIEGEND: An error occurred while scanning for the next 
> > triggers to fire.
> > org.quartz.JobPersistenceException: Couldn't acquire next trigger:
> > Couldn't retrieve trigger: java.lang.ClassNotFoundException:
> > timerPersisted.server.TimerData [See nested exception:
> > org.quartz.JobPersistenceException: Couldn't retrieve trigger:
> > java.lang.ClassNotFoundException: timerPersisted.server.TimerData 
> > [See nested exception: java.io.IOException: 
> > java.lang.ClassNotFoundException:
> > timerPersisted.server.TimerData]]
> >         at
> >
> >
> org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTrigger(JobSto
> reSupport.java:2840)
> >         [...]
> > Caused by: org.quartz.JobPersistenceException: Couldn't retrieve trigger:
> > java.lang.ClassNotFoundException: timerPersisted.server.TimerData 
> > [See nested exception: java.io.IOException: 
> > java.lang.ClassNotFoundException:
> > timerPersisted.server.TimerData]
> >         at
> >
> >
> org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveTrigger(JobStoreS
> upport.java:1524)
> >         [...]
> > Caused by: java.io.IOException: java.lang.ClassNotFoundException:
> > timerPersisted.server.TimerData
> >         at
> > org.apache.openejb.core.timer.TimerData.readObject(TimerData.java:134)
> >         [...]
> > Caused by: java.lang.ClassNotFoundException:
> > timerPersisted.server.TimerData
> >         at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
> >         [...]
> >
> > If the TimerData object is added to a jar file and the jar file is 
> > inserted to the TomEE\lib directory:
> > The scheduled bean is triggered as expected.
> >
> > -----
> >
> > Why must the TimerData object be available in the global TomEE 
> > classpath in case of timer persistence?
> > Is there a way to get it running without putting "application-specific"
> > classes to the global TomEE lib folder?
> >
> > Best regards,
> > Thomas
> >
> >
> >
> > --
> > View this message in context:
> > http://openejb.979440.n4.nabble.com/Timer-service-different-behaviou
> > r- if-external-quartz-tables-are-used-or-not-tp4663101.html
> > Sent from the OpenEJB Dev mailing list archive at Nabble.com.
> >
>
<Resource id="myDatabaseNoTX" type="DataSource">
  JdbcDriver com.microsoft.sqlserver.jdbc.SQLServerDriver
  JdbcUrl jdbc:sqlserver://localhost:1433;DatabaseName=tomee
  UserName tomee
  Password tomee
  JtaManaged true
</Resource>

<Resource id="myDatabase" type="DataSource">
  JdbcDriver com.microsoft.sqlserver.jdbc.SQLServerDriver
  JdbcUrl jdbc:sqlserver://localhost:1433;DatabaseName=tomee
  UserName tomee
  Password tomee
  JtaManaged false
</Resource>

Reply via email to