Description of problem: Add all databaze specific Quartz delegate jars to engine libs. See Maciej's comment why is this necessary: from https://bugzilla.redhat.com/show_bug.cgi?id=1127296#c17 (In reply to Maciej Swiderski from comment #17) > (In reply to Jiri Svitak from comment #13) > > > 3.) Cluster setup mentions DB specific quatz delegate class > > org.quartz.impl.jdbcjobstore.PostgreSQLDelegate. Why is that? > > With BPM Suite 6.0 I used org.quartz.impl.jdbcjobstore.StdJDBCDelegate, > > which is universal quartz delegate class for all jdbc compliant drivers and > > in my case performance tests worked well with Oracle DB. Why are db specific > > delegate classes necessary? > > Jiri, > > the db specific delegates are used just because it is recommended by quartz > as stated in the Quartz scheduler tutorial [1], here is an extract of > relevant part: > > "The DriverDelegate is responsible for doing any JDBC work that may be > needed for your specific database. StdJDBCDelegate is a delegate that uses > "vanilla" JDBC code (and SQL statements) to do its work. If there isn't > another delegate made specifically for your database, try using this > delegate - we've only made database-specific delegates for databases that > we've found problems using StdJDBCDelegate with (which seems to be most!). > Other delegates can be found in the "org.quartz.impl.jdbcjobstore" package, > or in its sub-packages. Other delegates include DB2v6Delegate (for DB2 > version 6 and earlier), HSQLDBDelegate (for HSQLDB), MSSQLDelegate (for > Microsoft SQLServer), PostgreSQLDelegate (for PostgreSQL), WeblogicDelegate > (for using JDBC drivers made by Weblogic), OracleDelegate (for using > Oracle), and others." > > there might be cases that we have not encounter with the use we have for > quartz as it's rather simple so it might be still fine to use standard one > as well. Though I tend to follow official recommendation even if the default > setup works ok for given set of tests... > > [1]http://quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial- > lesson-09 Because Quartz specific jars are necessary, as explained above, I propose this issue as a 6.1 blocker. Version-Release number of selected component (if applicable): BPM Suite 6.1.0.ER6 Actual results: Only quartz-oracle-1.8.5.jar has been added as a result of fixing BZ1153343. Expected results: Quartz delegate jars for all databases are part of the BPM Suite.
the only missing delegates are: org.quartz.impl.jdbcjobstore.WebLogicDelegate org.quartz.impl.jdbcjobstore.oracle.WebLogicOracleDelegate all other delegates are part of regular quartz jar file so there is no need to add them into the distribution, simply because there is nothing to add. If we agree then quartz-weblogic.jar could be added in there.
For docs, I think we should add to the docs that, when using Oracle, it is recommended to use the oracle delegate for quartz: org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
master: http://github.com/droolsjbpm/droolsjbpm-build-bootstrap/commit/f08d4b8d9 https://github.com/droolsjbpm/droolsjbpm-integration/commit/e283575ca49c40d378ba7f59d44744cfd1e026c3 6.3.x: http://github.com/droolsjbpm/droolsjbpm-build-bootstrap/commit/d1806ed97 https://github.com/droolsjbpm/droolsjbpm-integration/commit/3bd9fc0c20aa2630b8e1be8091b21d873e4deb2b
Verified. Quartz jars located in engine libs: - quartz-1.8.5.jar - as Maciej stated, contains delegates for all DBs except Oracle. - quartz-weblogic-1.8.5.jar - delegates for Weblogic. - quartz-oracle-1.8.5.jar - delegates for Oracle.