Commit 0b24889f authored by zengtianlai3's avatar zengtianlai3

2.3.9 异常处理:泛化的捕获异常

parent fd93efa6
...@@ -22,7 +22,6 @@ public class DeviceDecoder extends ByteToMessageDecoder { ...@@ -22,7 +22,6 @@ public class DeviceDecoder extends ByteToMessageDecoder {
buffer.readBytes(packet); buffer.readBytes(packet);
buffer.resetReaderIndex(); buffer.resetReaderIndex();
Util.DEBUG_HEX("SERVER -> IN", packet, packet.length); Util.DEBUG_HEX("SERVER -> IN", packet, packet.length);
try {
if (buffer.readableBytes() < BASE_LENGTH) { if (buffer.readableBytes() < BASE_LENGTH) {
return; return;
} }
...@@ -49,11 +48,6 @@ public class DeviceDecoder extends ByteToMessageDecoder { ...@@ -49,11 +48,6 @@ public class DeviceDecoder extends ByteToMessageDecoder {
DeviceProtocol protocol = new DeviceProtocol(stx, len, cmd, ack, content, end); DeviceProtocol protocol = new DeviceProtocol(stx, len, cmd, ack, content, end);
out.add(protocol); out.add(protocol);
} catch (Exception e) {
// TODO Auto-generated catch block
log.error("DeviceDecoder error!");
}
} }
} }
\ No newline at end of file
...@@ -14,7 +14,6 @@ public class DeviceEncoder extends MessageToByteEncoder<DeviceProtocol> { ...@@ -14,7 +14,6 @@ public class DeviceEncoder extends MessageToByteEncoder<DeviceProtocol> {
@Override @Override
protected void encode(ChannelHandlerContext tcx, DeviceProtocol msg, ByteBuf out) { protected void encode(ChannelHandlerContext tcx, DeviceProtocol msg, ByteBuf out) {
try {
out.writeShort(msg.getStx()); out.writeShort(msg.getStx());
out.writeShortLE(msg.getLen()); out.writeShortLE(msg.getLen());
...@@ -26,9 +25,5 @@ public class DeviceEncoder extends MessageToByteEncoder<DeviceProtocol> { ...@@ -26,9 +25,5 @@ public class DeviceEncoder extends MessageToByteEncoder<DeviceProtocol> {
out.writeBytes(msg.getContent()); out.writeBytes(msg.getContent());
} }
out.writeByte(msg.getEnd()); out.writeByte(msg.getEnd());
} catch (Exception e) {
// TODO Auto-generated catch block
log.error("解码器异常");
}
} }
} }
...@@ -17,7 +17,6 @@ public class ForwardDecoder extends ByteToMessageDecoder { ...@@ -17,7 +17,6 @@ public class ForwardDecoder extends ByteToMessageDecoder {
@Override @Override
protected void decode(ChannelHandlerContext ctx, ByteBuf buffer, List<Object> out) { protected void decode(ChannelHandlerContext ctx, ByteBuf buffer, List<Object> out) {
// 可读长度必须大于等于基本长度 // 可读长度必须大于等于基本长度
try {
byte[] packet = new byte[buffer.readableBytes()]; byte[] packet = new byte[buffer.readableBytes()];
buffer.readBytes(packet); buffer.readBytes(packet);
buffer.resetReaderIndex(); buffer.resetReaderIndex();
...@@ -55,11 +54,6 @@ public class ForwardDecoder extends ByteToMessageDecoder { ...@@ -55,11 +54,6 @@ public class ForwardDecoder extends ByteToMessageDecoder {
DeviceProtocol protocol = new DeviceProtocol(stx, real_len, cmd, ack, content, end); DeviceProtocol protocol = new DeviceProtocol(stx, real_len, cmd, ack, content, end);
out.add(protocol); out.add(protocol);
} catch (Exception e) {
// TODO Auto-generated catch block
log.error("Decoder error");
}
} }
......
...@@ -11,7 +11,6 @@ public class ForwardEncoder extends MessageToByteEncoder<DeviceProtocol> { ...@@ -11,7 +11,6 @@ public class ForwardEncoder extends MessageToByteEncoder<DeviceProtocol> {
@Override @Override
protected void encode(ChannelHandlerContext tcx, DeviceProtocol msg, ByteBuf out) { protected void encode(ChannelHandlerContext tcx, DeviceProtocol msg, ByteBuf out) {
try {
out.writeShort(msg.getStx()); out.writeShort(msg.getStx());
out.writeShortLE(msg.getLen()); out.writeShortLE(msg.getLen());
...@@ -22,9 +21,5 @@ public class ForwardEncoder extends MessageToByteEncoder<DeviceProtocol> { ...@@ -22,9 +21,5 @@ public class ForwardEncoder extends MessageToByteEncoder<DeviceProtocol> {
out.writeBytes(msg.getContent()); out.writeBytes(msg.getContent());
} }
out.writeByte(msg.getEnd()); out.writeByte(msg.getEnd());
} catch (Exception e) {
// TODO Auto-generated catch block
log.error("解码器异常");
}
} }
} }
...@@ -22,22 +22,23 @@ public class JwtUtil { ...@@ -22,22 +22,23 @@ public class JwtUtil {
**/ **/
private static final long EXPIRATION = 3600L;//单位为秒 private static final long EXPIRATION = 3600L;//单位为秒
private static HashMap<String,String> tokens = new HashMap<>(); private static HashMap<String, String> tokens = new HashMap<>();
/** /**
* 生成用户token,设置token超时时间 * 生成用户token,设置token超时时间
*/ */
public static String createToken(LoginUser user){ public static String createToken(LoginUser user) {
//过期时间 //过期时间
Date expireDate = new Date(System.currentTimeMillis() + EXPIRATION * 1000); Date expireDate = new Date(System.currentTimeMillis() + EXPIRATION * 1000);
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("alg", "HS256"); map.put("alg", "HS256");
map.put("typ", "JWT"); map.put("typ", "JWT");
String token= JWT.create() String token = JWT.create()
.withHeader(map) //添加头部 .withHeader(map) //添加头部
//可以把数据存在claim中 //可以把数据存在claim中
.withClaim("userId",user.getUserId()) .withClaim("userId", user.getUserId())
.withClaim("userName",user.getUserName()) .withClaim("userName", user.getUserName())
.withClaim("password",user.getPassword()) .withClaim("password", user.getPassword())
.withExpiresAt(expireDate) //超时设置,设置过期的日期 .withExpiresAt(expireDate) //超时设置,设置过期的日期
.withIssuedAt(new Date()) //签发时间 .withIssuedAt(new Date()) //签发时间
.sign(Algorithm.HMAC256(SECRET)); //SECRET加密 .sign(Algorithm.HMAC256(SECRET)); //SECRET加密
...@@ -63,16 +64,9 @@ public class JwtUtil { ...@@ -63,16 +64,9 @@ public class JwtUtil {
/** /**
* 检验token并解析token * 检验token并解析token
*/ */
public static DecodedJWT verifyToken(String token){ public static DecodedJWT verifyToken(String token) {
DecodedJWT jwt=null; JWTVerifier verifier = JWT.require(Algorithm.HMAC256(SECRET)).build();
try { DecodedJWT jwt = verifier.verify(token);
JWTVerifier verifier=JWT.require(Algorithm.HMAC256(SECRET)).build();
jwt=verifier.verify(token);
}catch (Exception e){
log.error(e.getMessage());
log.error("解析编码异常");
}
return jwt; return jwt;
} }
} }
...@@ -57,7 +57,7 @@ public class LogAspect { ...@@ -57,7 +57,7 @@ public class LogAspect {
} }
protected void handleLog(final JoinPoint joinPoint, final Exception e, Object jsonResult) { protected void handleLog(final JoinPoint joinPoint, final Exception e, Object jsonResult) {
try {
// 获得注解 // 获得注解
MyLog controllerLog = getAnnotationLog(joinPoint); MyLog controllerLog = getAnnotationLog(joinPoint);
if (controllerLog == null) { if (controllerLog == null) {
...@@ -79,10 +79,6 @@ public class LogAspect { ...@@ -79,10 +79,6 @@ public class LogAspect {
getControllerMethodDescription(joinPoint, controllerLog, operLog); getControllerMethodDescription(joinPoint, controllerLog, operLog);
// 保存数据库 // 保存数据库
sysOperLogService.addOperlog(operLog.getTitle(), operLog.getBusinessType(), operLog.getUri(), operLog.getStatus(), operLog.getOptParam(), operLog.getErrorMsg(), operLog.getOperTime()); sysOperLogService.addOperlog(operLog.getTitle(), operLog.getBusinessType(), operLog.getUri(), operLog.getStatus(), operLog.getOptParam(), operLog.getErrorMsg(), operLog.getOperTime());
} catch (Exception exp) {
log.error("==前置通知异常==");
log.error("日志异常信息 {}", exp);
}
} }
/** /**
......
...@@ -16,8 +16,6 @@ public class OperateDecoder extends ByteToMessageDecoder { ...@@ -16,8 +16,6 @@ public class OperateDecoder extends ByteToMessageDecoder {
@Override @Override
protected void decode(ChannelHandlerContext ctx, ByteBuf buffer, List<Object> out) { protected void decode(ChannelHandlerContext ctx, ByteBuf buffer, List<Object> out) {
// 可读长度必须大于等于基本长度 // 可读长度必须大于等于基本长度
try {
if (buffer.readableBytes() < BASE_LENGTH) { if (buffer.readableBytes() < BASE_LENGTH) {
return; return;
} }
...@@ -49,11 +47,6 @@ public class OperateDecoder extends ByteToMessageDecoder { ...@@ -49,11 +47,6 @@ public class OperateDecoder extends ByteToMessageDecoder {
DeviceProtocol protocol = new DeviceProtocol(stx, real_len, cmd, ack, content, end); DeviceProtocol protocol = new DeviceProtocol(stx, real_len, cmd, ack, content, end);
out.add(protocol); out.add(protocol);
} catch (Exception e) {
// TODO Auto-generated catch block
log.error("Decoder error");
}
} }
......
...@@ -4,7 +4,6 @@ import io.netty.buffer.ByteBuf; ...@@ -4,7 +4,6 @@ import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToByteEncoder; import io.netty.handler.codec.MessageToByteEncoder;
import iot.sixiang.license.device.DeviceProtocol; import iot.sixiang.license.device.DeviceProtocol;
import iot.sixiang.license.util.Util;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
...@@ -12,7 +11,6 @@ public class OperateEncoder extends MessageToByteEncoder<DeviceProtocol> { ...@@ -12,7 +11,6 @@ public class OperateEncoder extends MessageToByteEncoder<DeviceProtocol> {
@Override @Override
protected void encode(ChannelHandlerContext tcx, DeviceProtocol msg, ByteBuf out) { protected void encode(ChannelHandlerContext tcx, DeviceProtocol msg, ByteBuf out) {
try {
out.writeShort(msg.getStx()); out.writeShort(msg.getStx());
out.writeShortLE(msg.getLen()); out.writeShortLE(msg.getLen());
...@@ -23,9 +21,5 @@ public class OperateEncoder extends MessageToByteEncoder<DeviceProtocol> { ...@@ -23,9 +21,5 @@ public class OperateEncoder extends MessageToByteEncoder<DeviceProtocol> {
out.writeBytes(msg.getContent()); out.writeBytes(msg.getContent());
} }
out.writeByte(msg.getEnd()); out.writeByte(msg.getEnd());
} catch (Exception e) {
// TODO Auto-generated catch block
log.error("解码器异常");
}
} }
} }
...@@ -2,13 +2,12 @@ package iot.sixiang.license.util; ...@@ -2,13 +2,12 @@ package iot.sixiang.license.util;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.io.*; import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom; import java.security.SecureRandom;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.Date;
import java.util.regex.Matcher; import java.util.Locale;
import java.util.regex.Pattern;
@Slf4j @Slf4j
public class CommonUtil { public class CommonUtil {
......
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