Steps to reproduce:
- start a Camunda Wildfly distribution
- build the attached project and deploy it on wildfly
- start a new instance in tasklist (by using the engine "foo")
- complete task "A"
- try to open external form of task "B"
Observed Behavior:
- The variable cannot be serialized, because the Process-application-specific ObjectMapper is not used to serialize the variable
- The following exception is thrown:
Caused by: org.camunda.bpm.engine.ProcessEngineException: Cannot serialize object in variable 'null': SPIN/JACKSON-JSON-01009 Unable to map object '[ModellingEntity[id=7]]' to json node at org.camunda.bpm.engine.impl.variable.serializer.AbstractSerializableValueSerializer.writeValue(AbstractSerializableValueSerializer.java:53) at org.camunda.bpm.engine.impl.variable.serializer.AbstractSerializableValueSerializer.writeValue(AbstractSerializableValueSerializer.java:27) at org.camunda.bpm.engine.impl.persistence.entity.util.TypedValueField.writeValue(TypedValueField.java:160) at org.camunda.bpm.engine.impl.persistence.entity.util.TypedValueField.isValuedImplicitlyUpdated(TypedValueField.java:148) at org.camunda.bpm.engine.impl.persistence.entity.util.TypedValueField.notifyImplicitValueUpdate(TypedValueField.java:169) at org.camunda.bpm.engine.impl.persistence.entity.util.TypedValueField.onCommandContextClose(TypedValueField.java:165) at org.camunda.bpm.engine.impl.interceptor.CommandContext.fireCommandContextClose(CommandContext.java:186) at org.camunda.bpm.engine.impl.interceptor.CommandContext.close(CommandContext.java:131) at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:113) at org.camunda.bpm.engine.impl.interceptor.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:58) at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:66) at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30) at org.camunda.bpm.engine.impl.RuntimeServiceImpl.getVariablesTyped(RuntimeServiceImpl.java:295) at org.camunda.bpm.engine.impl.RuntimeServiceImpl.getVariables(RuntimeServiceImpl.java:290) at org.camunda.bpm.engine.impl.RuntimeServiceImpl.getVariables(RuntimeServiceImpl.java:75) at com.hannoverre.lsr.faces.model.UserTaskForm.initUserTask(UserTaskForm.java:113) ... 89 more Caused by: org.camunda.spin.json.SpinJsonDataFormatException: SPIN/JACKSON-JSON-01009 Unable to map object '[ModellingEntity[id=7]]' to json node at org.camunda.spin.impl.json.jackson.JacksonJsonLogger.unableToMapInput(JacksonJsonLogger.java:80) at org.camunda.spin.impl.json.jackson.format.JacksonJsonDataFormatMapper.mapJavaToInternal(JacksonJsonDataFormatMapper.java:54) at org.camunda.spin.plugin.impl.SpinObjectValueSerializer.serializeToByteArray(SpinObjectValueSerializer.java:72) at org.camunda.bpm.engine.impl.variable.serializer.AbstractSerializableValueSerializer.writeValue(AbstractSerializableValueSerializer.java:50) ... 104 more Caused by: java.lang.IllegalArgumentException: Can not resolve PropertyFilter with id 'ModellingEntity'; no FilterProvider configured (through reference chain: java.util.ArrayList[0]) at com.fasterxml.jackson.databind.ObjectMapper.valueToTree(ObjectMapper.java:2520) at org.camunda.spin.impl.json.jackson.format.JacksonJsonDataFormatMapper.mapJavaToInternal(JacksonJsonDataFormatMapper.java:52) ... 106 more Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not resolve PropertyFilter with id 'ModellingEntity'; no FilterProvider configured (through reference chain: java.util.ArrayList[0]) at com.fasterxml.jackson.databind.ser.std.StdSerializer.findPropertyFilter(StdSerializer.java:294) at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFieldsFiltered(BeanSerializerBase.java:714) at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155) at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:130) at com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:2383) at com.fasterxml.jackson.databind.ObjectMapper.valueToTree(ObjectMapper.java:2515) ... 107 more
Expected Behavior:
- The variable can be serialized by using the Process-application-specific ObjectMapper