Browse Source

处理redisUtil的序列化问题

ppt-20260120
review512jwy@163.com 13 hours ago
parent
commit
76cbfacee9
  1. 3
      dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java
  2. 2
      dongjian-dashboard-back-util/src/main/java/com/dongjian/dashboard/back/util/redis/RedisUtil.java

3
dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java

@ -1,5 +1,6 @@
package com.dongjian.dashboard.back.service.impl; package com.dongjian.dashboard.back.service.impl;
import com.alibaba.fastjson2.JSONObject;
import com.dongjian.dashboard.back.bo.LatestValueBO; import com.dongjian.dashboard.back.bo.LatestValueBO;
import com.dongjian.dashboard.back.common.Constants; import com.dongjian.dashboard.back.common.Constants;
import com.dongjian.dashboard.back.common.language.msg.MsgLanguageChange; import com.dongjian.dashboard.back.common.language.msg.MsgLanguageChange;
@ -199,7 +200,7 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService
Object cacheLastValue = redisUtil.HGet(redisKey, lineDataSearchParams.getDeviceId().toLowerCase()); Object cacheLastValue = redisUtil.HGet(redisKey, lineDataSearchParams.getDeviceId().toLowerCase());
if (null != cacheLastValue) { if (null != cacheLastValue) {
try { try {
LatestValueBO latestValueBO = objectMapper.readValue(cacheLastValue.toString(), LatestValueBO.class); LatestValueBO latestValueBO = objectMapper.readValue(JSONObject.toJSONString(cacheLastValue), LatestValueBO.class);
String dateFormatted = Instant.ofEpochMilli(latestValueBO.getUpdateTs()) String dateFormatted = Instant.ofEpochMilli(latestValueBO.getUpdateTs())
.atZone(Constants.ZONE_TOKYO) .atZone(Constants.ZONE_TOKYO)
.format(Constants.FORMATTER_YMDHMS); .format(Constants.FORMATTER_YMDHMS);

2
dongjian-dashboard-back-util/src/main/java/com/dongjian/dashboard/back/util/redis/RedisUtil.java

@ -42,7 +42,7 @@ public class RedisUtil {
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper om = new ObjectMapper(); ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); // om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(om); jackson2JsonRedisSerializer.setObjectMapper(om);
redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer); redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);

Loading…
Cancel
Save