Bonjour,
J’utilise Bonita 7.2.0.
J’ai une table ayant plusieurs champs pointant sur d’autres tables (utilisation de relations du type “Agrégation” avec l’option “Toujours charger les objets liés”).
L’API Rest me retourne un flux JSON avec les informations de la table principale ainsi que les informations des clés érangères (objet JSON imbriqué)
Mon problème est que le service REST est instable. Lorsque je rafraichit le service REST, le flux JSON change : je n’ai parfois rien dans les objets imbriqués ou parfois des valeurs différentes.
Par exemple, j’ai une information “Etat” qui peut prendre la valeur “Fermée”, “Ouverte”, … sans qu’aucune modification ne soit apportée à la BDM.
D’autre part, j’ai parfois une erreur du type “Runtime Exception” lors de la soumission du formulaire d’instanciation du processus. Dans les logs, l’erreur provient a priori d’une concurrence d’accès en écriture à la BDM. Ce qui me parait suprenant car lorsqu’on soumet une nouvelle demande, je créé un nouvel objet.
Je me dis qu’il doit y avoir un problème d’accès à la BDM par Bonita. Avez-vous déjà rencontré ce problème ?
D’avance merci
Cordialement
J’ai poussé la vérification un peu plus loin :
- le contenu de la base de données est stable
- le contenu du flux JSON retourné par l’API REST est instable
En base, j’ai “status_pid=15”.
Dans le flux JSON, je peux avoir :
“status”: {
“persistenceId”: 15,
“persistenceId_string”: “15”,
“persistenceVersion”: 0,
“persistenceVersion_string”: “0”,
“code”: “VALIDATED”,
“name”: “Visée”,
“isActive”: true,
“orderNumber”: 2,
“filterConstraint”: “”,
“links”: [
{
“rel”: “enumerationType”,
“href”: “/API/bdm/businessData/fr.ifremer.bonita.bdm.ProcessEnumeration/15/enumerationType”
}
]
}
ou
status": {
“persistenceId”: 14,
“persistenceId_string”: “14”,
“persistenceVersion”: 0,
“persistenceVersion_string”: “0”,
“code”: “WAITING”,
“name”: “En Attente”,
“isActive”: true,
“orderNumber”: 1,
“filterConstraint”: “”,
“links”: [
{
“rel”: “enumerationType”,
“href”: “/API/bdm/businessData/fr.ifremer.bonita.bdm.ProcessEnumeration/14/enumerationType”
}
]
}
Le problème vient bien de l’API REST.
Avez-vous déjà remarqué cela.
Finalement, n’importe quel champ (objet imbriqué ou type simple) peut appaitre/disparaitre.
J’ai rencontré le même problème avec un champ data “hierarchyDate” qui prend la valeur nulle ou la bonne valeur “1460532016774”.
Cela est très problématique.
Une piste : déploiement d’un processus avec le même numéro de version qu’une ancienne version