tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Juan Ma <juanma.cabr...@gmail.com>
Subject TomEE and JDBC Quartz
Date Fri, 06 Jun 2014 13:37:43 GMT
We are launching Scheduled jobs using the EJB @Schedule feature. 
Since we will run on two machines in production, we would like to use a JDBC
Quartz job to make sure the jobs are not run concurrently. 
Since our backEnd uses Mysql, we have to use the
"org.quartz.impl.jdbcjobstore.StdJDBCDelegate" driver Delegate. 
For some reason, TomEE prevents the use of this class - when it's defined in
the configuration, TomEE replaces the conf by its own
'org.apache.openejb.core.timer.quartz.PatchedStdJDBCDelegate'
(openejb-core-4.6.0.jar - org.apache.openejb.core.timer.EjbTimerServiceImpl
line 243+). 
The delegate creation (quartz-2.2.0.jar -
org.quartz.impl.jdbcjobstore.JobStoreSupport.java:3104) throws an
InstanciationException when making the ".newInstance()" call (I am pretty
sure this is because this 'PatchedStdJDBCDelegate' has no nullary
constructor - but i wonder how such an issue could find its way in a final
vresion, so I may miss something). 
I was able to bypass the problem by: 
-making a new class simply extending the StdJDBCDelegate 
-including it in a jar 
-putting this jar in my Tomee/lib folder (for some reason, the class is not
found when in /endorsed) 
TomEE now uses my "custom" delegate, and seems to work fine. 
So, finally, my question : is this an issue someone already encountered
before me ? Is there any easy "clean" fix/workaround, that do not require me
to add entry in the /lib folder ? 

Kind regards



--
View this message in context: http://openejb.979440.n4.nabble.com/TomEE-and-JDBC-Quartz-tp4669950.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Mime
View raw message