cancel
Showing results for 
Search instead for 
Did you mean: 

Lists of strings or numbers as process variables?

k-minor
Champ in-the-making
Champ in-the-making
Newbie here, evaluating the applicability of Activiti for our corporate BPM space.

I've been reading the documentation, examples, and Manning book, but am still unclear how a list of values gets stored and manipulated in the process variables.

It appears than anything beyond a trivial single data item (number/string/date) gets serialized and stored as a blob in the database.   Is that correct?    If we want to store, for example, a list of product numbers associated with a process instance, and maybe a list of affected customers IDs, is the only way to store these as process variables going to be as blobs (serialized bytearrays)?

This seems like it would complicate the data model to the extent that reporting/debugging the schema would be a nightmare.

Am I overlooking something?   I know this is not an easy problem to solve, but I can't quite picture how any non-trivial use of Activiti would be able to avoid collection-type process variables.

Feel free to just point me to someplace in the docs if I've just failed to RT the right FM.   Smiley Happy
3 REPLIES 3

ronald_van_kuij
Champ on-the-rise
Champ on-the-rise
Why not use your own datamodel and store references in the database, e.g. entities

k-minor
Champ in-the-making
Champ in-the-making
Thanks for the response . . .

Would I be able to reference those external entity values from within the process definition?

Do you know if any of the examples in the distribution include this type of usage?

jbarrez
Star Contributor
Star Contributor
yes, serializable pojo's are supported, including using them in expression eg 'pojo.blah'