详细描述
在最新版本的 shiro 中, 出现一些消息的 message_id 字段出现数据溢出, 由于是服务器开放了 ws 连接, 暂时无法排查出具体的客户端类型以及版本, 看看是否有其他人也遇上这个问题
屏幕截图或者日志
com.mikuac.shiro.exception.ShiroException: Cannot convert to class: com.mikuac.shiro.dto.event.message.GroupMessageEvent
at com.mikuac.shiro.common.utils.JsonObjectWrapper.to(JsonObjectWrapper.java:127)
at com.mikuac.shiro.handler.event.MessageEvent.process(MessageEvent.java:88)
at com.mikuac.shiro.handler.event.MessageEvent.group(MessageEvent.java:146)
at com.mikuac.shiro.handler.event.MessageEvent.handler(MessageEvent.java:58)
at com.mikuac.shiro.handler.EventHandler.handler(EventHandler.java:106)
at com.mikuac.shiro.task.ShiroAsyncTask.execHandlerMsg(ShiroAsyncTask.java:38)
at
Caused by: tools.jackson.core.exc.InputCoercionException: Numeric value (1482675043933618437) out of range of int (-2147483648 - 2147483647)
at [No location information] (through reference chain: com.mikuac.shiro.dto.event.message.GroupMessageEvent["message_id"])
at tools.jackson.core.base.ParserMinimalBase._constructInputCoercion(ParserMinimalBase.java:1144)
at tools.jackson.core.base.ParserMinimalBase._reportOverflowInt(ParserMinimalBase.java:931)
at tools.jackson.core.base.ParserMinimalBase._reportOverflowInt(ParserMinimalBase.java:927)
at tools.jackson.core.base.ParserMinimalBase._reportOverflowInt(ParserMinimalBase.java:923)
at tools.jackson.databind.node.TreeTraversingParser.getIntValue(TreeTraversingParser.java:328)
at tools.jackson.databind.deser.jdk.NumberDeserializers$IntegerDeserializer.deserialize(NumberDeserializers.java:532)
at tools.jackson.databind.deser.jdk.NumberDeserializers$IntegerDeserializer.deserialize(NumberDeserializers.java:515)
at tools.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:120)
at tools.jackson.databind.deser.bean.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:532)
at tools.jackson.databind.deser.bean.BeanDeserializer.deserialize(BeanDeserializer.java:200)
at tools.jackson.databind.deser.DeserializationContextExt.readRootValue(DeserializationContextExt.java:265)
at tools.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:2584)
at tools.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:979)
at tools.jackson.databind.ObjectMapper.treeToValue(ObjectMapper.java:1290)
运行或开发环境
- 系统版本:linux
- Shiro版本:2.5.3
- 客户端版本:未知
- JDK版本:jdk 21
- SpringBoot版本:4.0.3
详细描述
在最新版本的 shiro 中, 出现一些消息的 message_id 字段出现数据溢出, 由于是服务器开放了 ws 连接, 暂时无法排查出具体的客户端类型以及版本, 看看是否有其他人也遇上这个问题
屏幕截图或者日志
com.mikuac.shiro.exception.ShiroException: Cannot convert to class: com.mikuac.shiro.dto.event.message.GroupMessageEvent
at com.mikuac.shiro.common.utils.JsonObjectWrapper.to(JsonObjectWrapper.java:127)
at com.mikuac.shiro.handler.event.MessageEvent.process(MessageEvent.java:88)
at com.mikuac.shiro.handler.event.MessageEvent.group(MessageEvent.java:146)
at com.mikuac.shiro.handler.event.MessageEvent.handler(MessageEvent.java:58)
at com.mikuac.shiro.handler.EventHandler.handler(EventHandler.java:106)
at com.mikuac.shiro.task.ShiroAsyncTask.execHandlerMsg(ShiroAsyncTask.java:38)
at
Caused by: tools.jackson.core.exc.InputCoercionException: Numeric value (1482675043933618437) out of range of
int(-2147483648 - 2147483647)at [No location information] (through reference chain: com.mikuac.shiro.dto.event.message.GroupMessageEvent["message_id"])
at tools.jackson.core.base.ParserMinimalBase._constructInputCoercion(ParserMinimalBase.java:1144)
at tools.jackson.core.base.ParserMinimalBase._reportOverflowInt(ParserMinimalBase.java:931)
at tools.jackson.core.base.ParserMinimalBase._reportOverflowInt(ParserMinimalBase.java:927)
at tools.jackson.core.base.ParserMinimalBase._reportOverflowInt(ParserMinimalBase.java:923)
at tools.jackson.databind.node.TreeTraversingParser.getIntValue(TreeTraversingParser.java:328)
at tools.jackson.databind.deser.jdk.NumberDeserializers$IntegerDeserializer.deserialize(NumberDeserializers.java:532)
at tools.jackson.databind.deser.jdk.NumberDeserializers$IntegerDeserializer.deserialize(NumberDeserializers.java:515)
at tools.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:120)
at tools.jackson.databind.deser.bean.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:532)
at tools.jackson.databind.deser.bean.BeanDeserializer.deserialize(BeanDeserializer.java:200)
at tools.jackson.databind.deser.DeserializationContextExt.readRootValue(DeserializationContextExt.java:265)
at tools.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:2584)
at tools.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:979)
at tools.jackson.databind.ObjectMapper.treeToValue(ObjectMapper.java:1290)
运行或开发环境