cancel
Showing results for 
Search instead for 
Did you mean: 

Script Task exception serizlization

esseti
Champ in-the-making
Champ in-the-making
hello,
i've this script

var data =   new Array();
data[0]={"url":"ciao"};
execution.setVariable("data", data);

when executed, it raises and exception

Caused by: org.activiti.engine.ActivitiException: couldn't find a variable type that is able to serialize jdk.nashorn.internal.objects.NativeArray@71e1add8
   at org.activiti.engine.impl.variable.DefaultVariableTypes.findVariableType(DefaultVariableTypes.java:62)
   at org.activiti.engine.impl.persistence.entity.VariableScopeImpl.createVariableInstance(VariableScopeImpl.java:378)
   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.createVariableInstance(ExecutionEntity.java:1163)
   at org.activiti.engine.impl.persistence.entity.VariableScopeImpl.createVariableLocal(VariableScopeImpl.java:297)
   at org.activiti.engine.impl.persistence.entity.VariableScopeImpl.createVariableLocal(VariableScopeImpl.java:284)
   at org.activiti.engine.impl.persistence.entity.VariableScopeImpl.setVariable(VariableScopeImpl.java:264)
   at org.activiti.engine.impl.persistence.entity.VariableScopeImpl.setVariable(VariableScopeImpl.java:247)

Activiti 5.13

any idea?
1 REPLY 1

jbarrez
Star Contributor
Star Contributor
Yes, you are trying to serialize something that activiti doesnt know how to serialize as a process variable. In this case, it doesnt  know what to do with the native array. You can solve this by using java.util.Arraylist instead of the default js array here. Sadly, a limitation of the nashorn js engine and the jdk integration.