Chapitre 12. Persistance
Les données de runtime du Process Engine peuvent être persistées dans les stores de données. Le mécanisme de persistance sauvegarde les données par le marshalling : les données de runtime sont converties en jeu de données et le jeu de données est sauvegardé dans le stockage de données.
Notez que la persitance n'est pas configurée par défaut et le moteur exécute sans persitance.
Note
Les données de runtime sont sauvegardées en utilisant le marshalling (persistance binaire). Le mécanisme de marshalling est un mécanisme de sérialisation personnalisé.
Red Hat JBoss BPM Suite persitera ce qui suit quand la persistance sera configurée :
- État de session : cela inclut l'ID de session, la date de la dernière modification, les données de session dont les règles métier peuvent avoir besoin pour l'évaluation, l'état des tâches de minuterie.
- État d'instance de processus : cela inclut l'ID d'instance de processus, l'ID de processus, la date de la dernière modification, la date du dernier accès en lecture, la date de démarrage de l'instance de processus, les données de runtime (le statut d'exécution comprenant le noeud à exécuter, les valeurs des variables, etc.) et les types d'événements.
- État de runtime d'élément de travail : inclut l'ID d'élément de travail, la date de création, le nom, l'ID d'instance de processus, et l'état de l'élément de travail lui-même.
Sur la base des données persistées, il est possible de restaurer l'état d'exécution de toutes les instances exécutant en cas d'échec ou pour supprimer les instances en cours d'éxécution de façon temporaire en les restaurant plus tard. Par défaut, aucune persitance n'est configurée.
Pour autoriser la persistance, vous devez ajouter les fichiers jar de jbpm-persistance au CLASSPATH de votre application et configurer le moteur pour pouvoir utiliser la persistance. Le moteur enregistre automatiquement l'état d'exécution dans le stockage lorsque le moteur atteint un point sûr. Les points sécurisé sont des points où l'instance de processus est suspendue. Lorsqu'une invocation d'instance de processus atteint un point sécurisé dans le moteur, le moteur stocke toutes les modifications à l'instance de processus comme un instantané des données de runtime du processus. Toutefois, lorsqu'une instance de processus est terminée, l'instantané persisté des données de runtime de l'instance de processus est automatiquement supprimé.
Si une défaillance a lieu et que vous avez besoin de restaurer le runtime du moteur à partir du stockage, les instances de processus seront automatiquement restaurées et leur exécution continuera, donc vous n'aurez pas besoin de recharger ou de déclencher les instances de processus manuellement.
Les données de persistance de runtime doivent être considérées comme étant internes au moteur. Vous ne devez pas accéder à des données de runtime persitées ou les modifier directement car cela pourrait avoir des effets inattendus.
Pour obtenir des informations sur l'état actuel d'exécution, voir le journal de l'historique. Interroger la base de données de données de temps d'exécution que si c'est absolument nécessaire.
12.1. Session Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Les sessions sont persistées comme entités
SessionInfo
. Elles persistent l'état de la session KIE de runtime, et stocke les données suivantes :
Champ | Description | Nullable |
---|---|---|
id
|
Clé primaire
|
false
|
lastmodificationdate
|
dernière sauvegarde dans le store de données
|
N/A
|
rulesbytearray
|
jeu de données binaire avec état de session (blob binaire
|
false
|
startdate
|
démarrage de session
| |
optlock
|
numéro de version utilisé pour verrouiller la valeur d'un verrouillage optimiste
| |