Limitation de la taille des variables, serialisation et echange via messages de processus

1
0
-1

Bonjour,

J'aimerais pouvoir à partir d'un formulaire injecter dans un process un contenu au format json non limité en taille.

Ce contenu devra être stocker dans une variable de processus, puis envoyé à un autre processus via un message qui se chargera, via un connecteur spécialisé, de produire des requêtes SQL à partir des données du contenu JSON..

Ayant utilisé un champ de type texte dans le formulaire, j'ai été bloqué à cause d'une limitation dans la taille de stockage à 255 charactères des variables.

J’ai donc pensé stocker dans la variable de processus de type json (javax.json.JsonObject, org.json.JSONObject), mais malheureusement ce type d’objet n’est pas sérialisable.

Voici ci-dessous l’erreur:

class org.json.JSONObject cannot be cast to class java.io.Serializable (org.json.JSONObject is in unnamed module of loader 'app'; java.io.Serializable is in module java.base of loader 'bootstrap')

Voici ce que j’ai trouvé sur le sujet

https://forum.inductiveautomation.com/t/jsonobject-cannot-be-cast-to-class-java-io-serializable/41248

Maintenant même si je trouvais un moyen de sérialiser dans la variable de processus, j’aurais éventuellement un problème lorsque je vais transmettre le message vers un autre processus car on peu faire une transformation à l’aide d’un script a l’envoi , mais a la réception on ne peut que stocker le message sans script de transformation avec la version 2022.1.

Merci d’avance pour vos indications et conseils

Cordialement

David

1 answer

1
0
-1

Bonjour David,

Je vous suggère d'utiliser une variable métier ou il est possible d'utiliser des attributs d’objet de type TEXT qui ne sont pas limiter en taille (stocker avec le format CLOB en base de donnée).

Cela vous permettra de stoker votre string JSON et d'utiliser le slurper Groovy pour le manipuler rapidement dans un script de processus quand nécessaire.

Cordialement
Romain

Comments

Submitted by daarnone on Tue, 08/09/2022 - 09:05

Bonjour Romain, Merci beaucoup.

Cordialement.

david

Notifications