Hide Forgot
Affects: Release Notes Help Desk Ticket Reference: https://c.na7.visual.force.com/apex/Case_View?id=500A00000044dh5&sfdc.override=1 project_key: SOA Platform JIRA for [JBPM-2958] Timer should refer to the business calendar used at the time of creation
Link: Added: This issue incorporates JBPM-2958
Project issue JBPM-2958 resolved. Because resolution requires an new database column, the update will have no noticeable effect unless enabled by replacing the mapping resource Timer.hbm.xml with Timer.calendar.hbm.xml in the Hibernate configuration file. Apart from that, a varchar column named CALENDARRESOURCE_ must be added to the JBPM_JOB table manually. This procedure should be documented in the same vein as the Join Lock Mode extension, in the community wiki and out of the product manual, to avoid proliferation of nonstandard installations. http://community.jboss.org/wiki/jBPM3JoinLockMode
This change requires an upgrade script to be shipped with 5.1.0.GA.
Accepted for 5.1
This is not the proper solution - we have to distribute only one file - with fixed issue and provide the upgrade script for customers to upgrade to latest db. Otherwise there is a risk that customer will create a new db using sql scripts provided that lacks bugfix and then switch hbm file when meet the bug which in turn means that db won't get updated and jBPM can go mad.
Affects Testing: Added: [Blocks Testing] Blocked Tests: Added: Blocks jBPM testing
The criteria an existing customer would use to decide whether they should apply this update is the following: 1. Repeating timers are in use, and repeat intervals are expressed in "business" time. 2. Multiple business calendar configuration files are in use. 3. The repeat date for a timer is being incorrectly calculated because the job executor only reads the business calendar resource specified in jbpm.cfg.xml.
> QE to verify both timers. The jBPM3 test suite runs all tests with Timer.hbm.xml, except for one specific test case, TimerCalendarTest. This test uses Timer.calendar.hbm.xml and adds the new column to the database if necessary. I believe this covers the QE requirement.
PM team decided this needs to be in the documentation. Please provide input to the docs and hand over to the ECS team.
Release note draft: "This update is of interest only to jBPM installations employing multiple business calendar property files AND repeating timers. If a timer was set to repeat, the job executor had no indication of what business calendar properties file was in use when the timer was created. This update introduces a new column called CALENDARRESOURCE_ to the JBPM_JOB table that store the name of the business calendar properties resource used to create a timer. "To avoid forcing unaffected customers to create the aforementioned column manually, this update is disabled by default. In order to enable it, interested customers must replace the mapping resource "org/jbpm/job/Timer.hbm.xml" with "org/jbpm/job/Timer.calendar.hbm.xml" in their Hibernate configuration, in addition to creating the column.
Release Notes Docs Status: Added: Not Yet Documented
Writer: Added: dlesage
Release Notes Docs Status: Removed: Not Yet Documented Added: Documented as Resolved Issue Release Notes Text: Added: If your JBoss BPM installation employs multiple business calendar property files and you had set a timer to repeat, the job executor would not know which business calendar properties file was in use when the timer was created. This update introduces a new column called CALENDARRESOURCE_ to the JBPM_JOB table that store the name of the business calendar properties resource used to create a timer. To avoid forcing unaffected customers to create the aforementioned column manually, this update is disabled by default. In order to enable it, replace the org/jbpm/job/Timer.hbm.xml mapping resource with org/jbpm/job/Timer.calendar.hbm.xml in the Hibernate configuration, after you have created the column.
Release note added, based on Alejandro's draft.
Verified.