Commit c8eac99d by wangweidong

土工平台修改

parent 84bbb52c
...@@ -4,13 +4,15 @@ import net.jodah.expiringmap.ExpirationPolicy; ...@@ -4,13 +4,15 @@ import net.jodah.expiringmap.ExpirationPolicy;
import net.jodah.expiringmap.ExpiringMap; import net.jodah.expiringmap.ExpiringMap;
import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@Component @Component
public class InitBalanceMap implements InitializingBean { public class InitBalanceMap implements InitializingBean {
public static ExpiringMap<String,String> mapBalanceId = null; public static HashMap<String,String> mapBalanceId = null;
public static ExpiringMap<String,String> mapBalanceValue = null; public static ExpiringMap<String,String> mapBalanceValue = null;
public ExpiringMap<String,String> getMapId(){ public HashMap<String,String> getMapId(){
return mapBalanceId; return mapBalanceId;
} }
...@@ -20,16 +22,7 @@ public class InitBalanceMap implements InitializingBean { ...@@ -20,16 +22,7 @@ public class InitBalanceMap implements InitializingBean {
@Override @Override
public void afterPropertiesSet() throws Exception { public void afterPropertiesSet() throws Exception {
mapBalanceId = ExpiringMap.builder() mapBalanceId = new HashMap<>();
//设置每个key有效时间60s,如果key不设置过期时间,key永久有效
.expiration(300, TimeUnit.SECONDS)
//允许更新过期时间值,如果不设置variableExpiration,不允许后面更改过期时间,一旦执行更改过期时间操作会抛异常UnsupportedOperationException
.variableExpiration()
//CREATED:只在put和replace方法清零过期时间
//ACCESSED:在CREATED策略基础上增加 在还没过期时get方法清零过期时间。
//清零过期时间也就是重置过期时间,重新计算过期时间
.expirationPolicy(ExpirationPolicy.CREATED)
.build();
mapBalanceValue = ExpiringMap.builder() mapBalanceValue = ExpiringMap.builder()
......
...@@ -8,6 +8,9 @@ import io.netty.channel.ChannelInboundHandlerAdapter; ...@@ -8,6 +8,9 @@ import io.netty.channel.ChannelInboundHandlerAdapter;
import net.jodah.expiringmap.ExpiringMap; import net.jodah.expiringmap.ExpiringMap;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.util.HashMap;
public class ServerHandler extends ChannelInboundHandlerAdapter { public class ServerHandler extends ChannelInboundHandlerAdapter {
private static final Logger logger = LoggerFactory.getLogger(ServerHandler.class); private static final Logger logger = LoggerFactory.getLogger(ServerHandler.class);
@Override @Override
...@@ -24,10 +27,10 @@ public class ServerHandler extends ChannelInboundHandlerAdapter { ...@@ -24,10 +27,10 @@ public class ServerHandler extends ChannelInboundHandlerAdapter {
logger.error("天平传输的原始数据为:"+body); logger.error("天平传输的原始数据为:"+body);
logger.error("天平传输的处理数据为:"+ConvertHexStrToByteArray.balanceTextChangg(body)); logger.error("天平传输的处理数据为:"+ConvertHexStrToByteArray.balanceTextChangg(body));
InitBalanceMap mapInit = (InitBalanceMap)SpringUtil.getBean("initBalanceMap"); InitBalanceMap mapInit = (InitBalanceMap)SpringUtil.getBean("initBalanceMap");
ExpiringMap<String,String> mapId = mapInit.getMapId(); HashMap<String,String> mapId = mapInit.getMapId();
ExpiringMap<String,String> mapValue = mapInit.getMapValue(); ExpiringMap<String,String> mapValue = mapInit.getMapValue();
if (mapId.get(oid)==null){ if (mapId.get(oid)==null){
mapId.put(oid,ConvertHexStrToByteArray.balanceTextChangg(body)); mapId.put(oid,body);
}else{ }else{
mapValue.put(mapId.get(oid),ConvertHexStrToByteArray.balanceTextChangg(body)); mapValue.put(mapId.get(oid),ConvertHexStrToByteArray.balanceTextChangg(body));
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment