Bug 1199220 - Add all database-specific Quartz delegate jars to engine libs
Summary: Add all database-specific Quartz delegate jars to engine libs
Alias: None
Product: JBoss BPMS Platform 6
Classification: Retired
Component: jBPM Core
Version: 6.1.0
Hardware: Unspecified
OS: Unspecified
Target Milestone: ER3
: 6.2.0
Assignee: Kris Verlaenen
QA Contact: Tibor Zimanyi
Dawn Eisner
Depends On:
TreeView+ depends on / blocked
Reported: 2015-03-05 16:39 UTC by Jiri Svitak
Modified: 2020-03-27 19:45 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2020-03-27 19:45:48 UTC
Type: Bug

Attachments (Terms of Use)

Description Jiri Svitak 2015-03-05 16:39:16 UTC
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.

Comment 1 Maciej Swiderski 2015-03-05 18:01:58 UTC
the only missing delegates are:

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.

Comment 4 Kris Verlaenen 2015-03-22 00:43:53 UTC
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

Comment 10 Tibor Zimanyi 2015-10-01 08:11:22 UTC

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.

Note You need to log in before you can comment on or make changes to this bug.