I use JBPM 7.1.0. embedded in my JavaEE application.
The application has been in productive use for several years.
I would now like to update to version 7.74.1. and have also found and executed
the corresponding MySQL upgrade scripts under:
jbpm/jbpm-db-scripts/src/main/resources/db/upgrade-scripts/mysqlinnodb
I encountered two problems.
1. In upgrade script jbpm-7.41-to-7.48.sql column ´name´ of table ´CorrelationKeyInfo´ is declared as ´not null´.
But all entries are null in the productive database table.
I have noticed that JBPM fills this field with the processInstanceId.
I therefore copy the value into my existing entries with the following command:
update correlationkeyinfo set name = processInstanceId;
2. I get a ClassNotFoundException when starting the application and thus when deploying the active process instance.
Here I have noticed that classes are referenced in the deploymentstore table that have been moved to another package.
I have found the following:
https://github.com/kiegroup/jbpm/pull/1372 - [JBPM-5215] Reuse deployment descriptor classes from common jBPM module
I fixed the problems with the following commands:
UPDATE deploymentstore SET deploymentUnit = REPLACE(deploymentUnit, 'org.jbpm.runtime.manager.impl.deploy.DeploymentDescriptorImpl', 'org.kie.internal.runtime.manager.deploy.DeploymentDescriptorImpl');
UPDATE deploymentstore SET deploymentUnit = REPLACE(deploymentUnit, 'org.jbpm.runtime.manager.impl.deploy.TransientNamedObjectModel', 'org.kie.internal.runtime.manager.deploy.TransientNamedObjectModel');
UPDATE deploymentstore SET deploymentUnit = REPLACE(deploymentUnit, '<taskEventListeners class="linked-hash-set"/>', '<taskEventListeners/>');
With these two adjustments, I can start the application and the existing processes can continue to be processed.
However, I could not find any information or documentation on these data migrations.
Can anyone tell me if my customizations are OK?
Are there any data migration scripts besides the upgrade scripts?
I would be grateful for any information.