碰到一个节点过不去,报空指针,但是参数都正常。
追踪了两天,没找到解决办法,大概知道原因。
传入的参数不知道为什么没有被二进制化存入act_ge_bytearray表,导致取不到人员。
重点在于其它任务正常通过。
留下国外大佬的理解。
Variables(serializable)
In engine layer, we can handle variables by using Java APIs like RuntimeService.setVariable/getVariable.If the parameter value over the argument of RuntimeService.setVariable matches the following conditions, the variable is stored in the database as binary(Table ACT_GE_BYTEARRAY Column BYTES_).
Condition
byte[]
https://github.com/Activiti/Activiti/blob/develop/activiti-engine/src/main/java/org/activiti/engine/impl/variable/ByteArrayType.java
A character string of 4000 or more characters
https://github.com/Activiti/Activiti/blob/develop/activiti-engine/src/main/java/org/activiti/engine/impl/variable/LongStringType.java
com.fasterxml.jackson.databind.JsonNode
https://github.com/Activiti/Activiti/blob/develop/activiti-engine/src/main/java/org/activiti/engine/impl/variable/LongJsonType.java
java.io.Serializable
https://github.com/Activiti/Activiti/blob/develop/activiti-engine/src/main/java/org/activiti/engine/impl/variable/SerializableType.java
Cause of this issue
When the API that acquires the variable is called, the following processing is performed in the internal processing of the Engine, and then the variable is returned to the caller.
If variable's type is serializable, engine get value by fetching Table ACT_GE_BYTEARRAY.
Engine deserialize value to each data type(byte[], String, JsonNode, Serializable).
In the APIs(RuntimeService.getVariableInstances/getVariableInstancesLocal) of this issue , the above processing is not executed inside the Engine. So, when the caller access value, the caller try to fetch binary value from ACT_GE_BYTEARRAY. But, since outside of Engine, NullPointerException occurs.
__EOF__

本文链接:https://www.cnblogs.com/toWorld/p/13405413.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具