|
At some point we need to provide a mechanism for Quartz to automatically pass the global tablePrefix to a Semaphore that requires it, rather than having it be redundantly defined. Probably easiest to have an interface that includes setTablePrefix(), and if the Semaphore implements that interface, the global tablePrefix is added to the properties for configuring the Semaphore (in the StdSchedulerFactory).
I added the TablePrefixAware interface which StdSchedulerFactory uses to determine if it needs to coppy the JobStoreSupport's tablePrefix over to the Semaphore.
So this property is actually dead: org.quartz.jobStore.lockHandler.tablePrefix = QRTZ_ |
||||||||||||||||||||||||||||||||||||||||||
As confirmed in the forum, the simpler expression with only one parameter does work, and so that will be the default implementation.
This new Semaphore has been tested against Oracle 10g, and can be installed in the properties like so:
org.quartz.jobStore.lockHandler.class = org.quartz.impl.jdbcjobstore.UpdateLockRowSemaphore
with optional parameters:
org.quartz.jobStore.lockHandler.updateLockRowSQL = UPDATE {0}LOCKS SET LOCK_NAME = LOCK_NAME WHERE LOCK_NAME = ?
org.quartz.jobStore.lockHandler.tablePrefix = QRTZ_