From a3625cd2541e6beea385795361936863f076dbbd Mon Sep 17 00:00:00 2001 From: "zhuangpeng.li" <908349383@qq.com> Date: Mon, 28 Apr 2025 10:43:48 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=8E=BB=E9=99=A4sun=E5=8C=85):=20?= =?UTF-8?q?=E5=8E=BB=E9=99=A4sun=E5=8C=85=EF=BC=8C=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E5=85=B6=E4=BB=96=E7=89=88=E6=9C=ACjdk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fastbee/base/core/hanler/BaseHandler.java | 21 +++++++++++++++---- .../iot/ruleEngine/MsgContextService.java | 2 -- .../java/com/fastbee/iot/util/AESUtils.java | 3 --- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/springboot/fastbee-server/base-server/src/main/java/com/fastbee/base/core/hanler/BaseHandler.java b/springboot/fastbee-server/base-server/src/main/java/com/fastbee/base/core/hanler/BaseHandler.java index 7b4d93a2..92d77ced 100644 --- a/springboot/fastbee-server/base-server/src/main/java/com/fastbee/base/core/hanler/BaseHandler.java +++ b/springboot/fastbee-server/base-server/src/main/java/com/fastbee/base/core/hanler/BaseHandler.java @@ -3,10 +3,10 @@ package com.fastbee.base.core.hanler; import com.fastbee.common.core.protocol.Message; import com.fastbee.base.session.Session; -import sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl; - import java.lang.reflect.Method; +import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; +import java.util.Collection; /** * 基础处理类 @@ -44,8 +44,21 @@ public abstract class BaseHandler { for (int i = 0; i < types.length; i++) { Type type = types[i]; Class clazz; - if (type instanceof ParameterizedTypeImpl) { - clazz = (Class) ((ParameterizedTypeImpl) type).getActualTypeArguments()[0]; + if (type instanceof ParameterizedType) { + ParameterizedType pt = (ParameterizedType) type; + // 检查是否为List/Collection等容器类型 + if (pt.getRawType() instanceof Class && + ((Class) pt.getRawType()).isArray() || + Collection.class.isAssignableFrom((Class) pt.getRawType())) { + Type[] actualTypes = pt.getActualTypeArguments(); + if (actualTypes.length > 0) { + clazz = (Class) actualTypes[0]; + } else { + clazz = Object.class; // 默认类型 + } + } else { + clazz = (Class) pt.getRawType(); // 处理非容器类型的参数化类型 + } } else { clazz = (Class) type; } diff --git a/springboot/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/ruleEngine/MsgContextService.java b/springboot/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/ruleEngine/MsgContextService.java index 9d702c6f..8c19e774 100644 --- a/springboot/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/ruleEngine/MsgContextService.java +++ b/springboot/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/ruleEngine/MsgContextService.java @@ -1,7 +1,6 @@ package com.fastbee.iot.ruleEngine; import com.fastbee.common.core.redis.RedisCache; -import com.yomahub.liteflow.script.annotation.ScriptBean; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -12,7 +11,6 @@ import org.springframework.stereotype.Component; */ @Component @Slf4j -@ScriptBean("msgContextService") public class MsgContextService { private final RedisCache redisCache; diff --git a/springboot/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/util/AESUtils.java b/springboot/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/util/AESUtils.java index e819ec5e..1b8a4afe 100644 --- a/springboot/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/util/AESUtils.java +++ b/springboot/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/util/AESUtils.java @@ -4,9 +4,6 @@ import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; -import sun.misc.BASE64Decoder; -import sun.misc.BASE64Encoder; - import java.security.MessageDigest; import java.util.Base64;