2008-12-18 8 views
5

J'ai utilisé le flux de travail JBPM dans mon projet et j'ai une petite question concernant la génération des correctifs de base de données ou des instructions SQL pour appliquer les modifications de flux de travail JBPM.Génération de correctifs JBPM Workflow

Actuellement, le flux de travail JBPM permet d'actualiser les tables JBPM dans le schéma avec le déploiement des dernières définitions de processus. Cependant, que se passe-t-il si mon système est déjà en ligne avec la définition de processus déployée avec l'état X et maintenant j'ai modifié le fichier de définition de processus pour accommoder le changement X2. Je dois toujours être en mesure de déployer les changements de delta sans perturber les instances de vieilles données enregistrées.

Est-il possible de générer uniquement des scripts de base de données "delta" pour la modification de définition de processus JBPM? Et quels sont les autres bons outils qui peuvent être utilisés pour modifier les définitions de processus plus intuitivement?

Pour réitérer mon problème, JBPM deploy nettoie les tables JBPM des anciennes instances qui y sont gérées, puis redéploie les derniers fichiers; comment générer le delta sans supprimer les anciennes données? Existe-t-il des outils conviviaux pour cela?

Toute aide à cet égard sera appréciée.

Répondre

3

Je ne suis pas sûr d'avoir bien compris votre problème. JBpm ne nettoie pas les tables pour les anciennes instances de processus lorsque vous déployez une nouvelle définition de processus.

Lorsque vous déployez une nouvelle définition de processus avec le même nom que celle d'une définition existante, vous obtenez une nouvelle version de cette définition de processus.

Les instances de processus existantes continuent d'être exécutées avec la version de définition de processus avec laquelle elles ont été démarrées, tandis que les nouvelles instances de processus prennent la dernière version sauf si vous spécifiez la version précise à utiliser.

En théorie, la définition de processus peut également être modifiée pour exécuter des instances de processus à l'aide de l'API. Ce faisant, vous devez faire attention à rendre ces changements compatibles avec la circulation de ces instances.