NettyServerHandler注入其他类为null
NettyServerHandler中注入其他类为空解决办法:
增加如下代码
public static NettyServerHandler nettyServerHandler;
@PostConstruct
public void init() {
nettyServerHandler = this;
}
整个类代码如下:
@Component
public class NettyServerHandler extends ChannelInboundHandlerAdapter {
@Autowired
private RedisTemplate redisTemplate;
@Autowired
private GetTime getTime;
public static NettyServerHandler nettyServerHandler;
@PostConstruct
public void init() {
nettyServerHandler = this;
}
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
ByteBuf in = (ByteBuf)msg;
int readableBytes = in.readableBytes();
byte[] bytes =new byte[readableBytes];
in.readBytes(bytes);
if (bytes != null && bytes.length >= 3748) {
if ( bytes[0]==-86&&
bytes[1] == -85 &&
bytes[2] == -84 &&
bytes[3745] == -70 &&
bytes[3746] == -69 &&
bytes[3747] == -68
) {
String encode = Base64.getEncoder().encodeToString(bytes);
// nettyServerHandler.redisTemplate.opsForValue().set("Current:Data",encode);
nettyServerHandler.redisTemplate.opsForList().rightPush("Current:Data"+nettyServerHandler.getTime.DateDisplay() , encode);
}
}
}
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
// 打印异常信息
cause.printStackTrace();
ctx.close();
}
}
原文地址:https://blog.csdn.net/wslzoooo/article/details/142702301
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!