补充netty权威指南学习自定义协议实现,与springboot集成
鉴于netty权威指南上面的自定义协议实现部分不完整,为此本博主,将自定义协议这块补充了以下,以供大家参考,自定义协议主要采用长度进行粘包处理,编解码自定义实现,具体如下
工程分三个部分
1、common 主要包含实体,枚举,一些公用的编解码常量等
2、service 服务端
3、client 客户端
下面上代码
pom主要添加上相应依赖,这里主要粘贴部分主要依赖
<dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.50.Final</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.0.5</version> </dependency>
common
entity
package com.drawnblue.nettycommon.entity; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; import java.util.Map; @Data @AllArgsConstructor @NoArgsConstructor @Builder public class Head implements Serializable { private Integer crcCode; private Integer length; private Long sessionId; private Byte type; private Byte priority; private Map<String,Object> attachment; } package com.drawnblue.nettycommon.entity; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; @Data @AllArgsConstructor @NoArgsConstructor public class Body implements Serializable { private Object payload; } package com.drawnblue.nettycommon.entity; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; @Data @AllArgsConstructor @NoArgsConstructor @Builder public class Message implements Serializable { private Head head; private Body body; }
编解码
package com.drawnblue.nettycommon.codec; import com.drawnblue.nettycommon.constant.NettyConstant; import com.drawnblue.nettycommon.entity.Body; import com.drawnblue.nettycommon.entity.Head; import com.drawnblue.nettycommon.entity.Message; import com.drawnblue.nettycommon.util.ByteUtil; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.ByteToMessageDecoder; import io.netty.util.CharsetUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; import java.util.Map; @Service(value = "decode") public class MsgDecode extends ByteToMessageDecoder { @Override protected void decode(ChannelHandlerContext channelHandlerContext, ByteBuf byteBuf, List<Object> out) throws Exception { Logger log = LoggerFactory.getLogger(this.getClass()); log.info("解码"); Integer length = byteBuf.readInt(); Integer crcCode = byteBuf.readInt(); Long sessionId = byteBuf.readLong(); Byte type = byteBuf.readByte(); Byte priority = byteBuf.readByte(); Map<String,Object> map = new HashMap<>(); Integer temp = NettyConstant.HEAD_LENGTH; if(byteBuf.isReadable()){ Short size = byteBuf.readShort(); temp+=2; while(map.size()<size){ int keyLen = byteBuf.readInt(); byte[] key = new byte[keyLen]; byteBuf.readBytes(key,0,keyLen); int valueLen = byteBuf.readInt(); byte[] value = new byte[valueLen]; byteBuf.readBytes(value,0,valueLen); map.put(new String(key, CharsetUtil.UTF_8), ByteUtil.byteToObject(value)); temp=temp+keyLen+valueLen; } } Object payload = null; if (byteBuf.isReadable()) { int bodyLen =length - temp; byte[] body = new byte[bodyLen]; byteBuf.readBytes(body); payload = ByteUtil.byteToObject(body); } Head head = Head.builder().length(length).crcCode(crcCode).attachment(map).priority(priority) .sessionId(sessionId).type(type).build(); Body body = new Body(payload); Message message = Message.builder().head(head).body(body).build(); log.info("解码结束!message={}",message.toString()); out.add(message); } } package com.drawnblue.nettycommon.codec; import com.drawnblue.nettycommon.entity.Body; import com.drawnblue.nettycommon.entity.Message; import com.drawnblue.nettycommon.util.ByteUtil; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.MessageToByteEncoder; import io.netty.util.CharsetUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import java.util.Map; import java.util.Set; @Service("encode") public class MsgEncode extends MessageToByteEncoder<Message> { Logger log = LoggerFactory.getLogger(this.getClass()); @Override protected void encode(ChannelHandlerContext channelHandlerContext, Message msg, ByteBuf out){ log.info("编码 msg={}",msg.toString()); Integer length = msg.getHead().getLength(); Integer crcCode = msg.getHead().getCrcCode(); Long sessionId = msg.getHead().getSessionId(); Byte type = msg.getHead().getType(); Byte priority = msg.getHead().getPriority(); out.writeInt(length); out.writeInt(crcCode); out.writeLong(sessionId); out.writeByte(type); out.writeByte(priority); Map<String, Object> attachment = msg.getHead().getAttachment(); if(attachment!=null && !attachment.isEmpty()){ out.writeShort(attachment.size());//用两个字节记录可扩展字段attachment的大小,short是16位,2个字节 if(attachment.size()>0){ Set<Map.Entry<String, Object>> entries = attachment.entrySet(); for (Map.Entry<String, Object> map : entries){ String key = map.getKey(); out.writeInt(key.length());//用4个字节记录key长度 out.writeCharSequence(key, CharsetUtil.UTF_8); Object obj = map.getValue(); byte[] v = ByteUtil.toByteArray(obj); int vlen = v.length; out.writeInt(vlen); out.writeBytes(v); } } } Body body = msg.getBody(); if(body!=null){ Object payload = msg.getBody().getPayload(); if(payload!=null){ byte[] load = ByteUtil.toByteArray(payload); out.writeBytes(load); } } log.info("编码调用结束"); } }
消息类型枚举
package com.drawnblue.nettycommon.enums; public enum MsgTypeEnum { BUZ_REQUEST(0,"业务请求"), BUZ_RESPONSE(1,"业务相应"), BUZ_ONEWAY(2,"即是请求也是响应"), HANDSHAKE_REQUEST(3,"握手请求"), HANDSHAKE_RESPONSE(4,"握手响应"), HEARTBEAT_REQUEST(5,"心跳请求"), HEARTBEAT_RESPONSE(6,"心跳响应"), ; private Integer type; private String name; MsgTypeEnum(Integer type,String name){ this.name = name; this.type = type; } public Integer getType() { return type; } public String getName(){ return name; } }
字节工具类
package com.drawnblue.nettycommon.util; import com.drawnblue.nettycommon.entity.Body; import com.drawnblue.nettycommon.entity.Message; import java.io.*; import java.util.Map; public class ByteUtil { public static byte[] toByteArray(Object obj){ if(obj == null){ return null; } byte[] result =null; ByteArrayOutputStream bos = new ByteArrayOutputStream(); try { ObjectOutputStream oos = oos = new ObjectOutputStream(bos); oos.writeObject(obj); oos.flush(); result = bos.toByteArray(); bos.close(); } catch (IOException e) { e.printStackTrace(); } return result; } public static Object byteToObject(byte[] obj){ if(obj==null || obj.length==0){ return null; } Object result =null; ByteArrayInputStream bis = new ByteArrayInputStream(obj); try { ObjectInputStream ois = new ObjectInputStream(bis); result = ois.readObject(); ois.close(); bis.close(); } catch (Exception e) { e.printStackTrace(); } return result; } public static int calculateLenth(Message msg){ int total = 18; Map<String,Object> attachment = msg.getHead().getAttachment(); if(attachment!=null && !attachment.isEmpty()){ int maplen = 2;//k-v对个数所占长度初始化 for(Map.Entry<String,Object> entry : attachment.entrySet()){ int keylen = entry.getKey().length(); Object value = entry.getValue(); byte[] v = ByteUtil.toByteArray(value); int vlen = v.length; maplen = maplen+keylen+vlen; } total+=maplen; } Body body = msg.getBody(); if(null !=body){ Object payload = body.getPayload(); byte[] data = ByteUtil.toByteArray(payload); if(data!=null){ total+=data.length; } } return total; } }
一些常量
package com.drawnblue.nettycommon.constant; public class NettyConstant { public static final Long LOGIN_SESSION_ID = 0L; public static final Integer CRC_CODE= 0xABEF; public static final Byte PRIORITY = 1; public static final Integer HEAD_LENGTH =18; }
和springboot整合的服务端代码
package com.drawnblue.netty.handler; import com.drawnblue.nettycommon.codec.MsgDecode; import com.drawnblue.nettycommon.codec.MsgEncode; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; import io.netty.channel.ChannelOption; import io.netty.channel.EventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.SocketChannel; import io.netty.channel.socket.nio.NioServerSocketChannel; import io.netty.handler.timeout.IdleStateHandler; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; import java.util.concurrent.TimeUnit; @Component public class TcpService implements CommandLineRunner { Logger log = LoggerFactory.getLogger(this.getClass()); @Value("${netty.port}") private int port; @Override public void run(String... args){ EventLoopGroup boss = new NioEventLoopGroup(); EventLoopGroup work = new NioEventLoopGroup(); try{ ServerBootstrap serverBootstrap = new ServerBootstrap(); serverBootstrap.group(boss,work).channel(NioServerSocketChannel.class) // .handler(new LoggingHandler(LogLevel.INFO)) .childOption(ChannelOption.SO_KEEPALIVE,true) .childHandler(new ChannelInitializer<SocketChannel>() { @Override protected void initChannel(SocketChannel sc) throws Exception { sc.pipeline() .addLast(new MsgDecode()) .addLast(new MsgEncode()) .addLast(new HeartBeatRespHandler()) .addLast(new MessageHandler()) .addLast(new ResponseBuz()); } }); log.info("netty 服务器监听端口:{}",port); try { ChannelFuture future = future = serverBootstrap.bind(port).sync(); future.channel().closeFuture().sync(); } catch (InterruptedException e) { e.printStackTrace(); } }finally { boss.shutdownGracefully(); work.shutdownGracefully(); } } }
package com.drawnblue.netty.handler; import com.drawnblue.nettycommon.constant.NettyConstant; import com.drawnblue.nettycommon.entity.Head; import com.drawnblue.nettycommon.entity.Message; import com.drawnblue.nettycommon.enums.MsgTypeEnum; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; import io.netty.channel.ChannelPipeline; public class HeartBeatRespHandler extends ChannelInboundHandlerAdapter { @Override public void channelRead(ChannelHandlerContext ctx, Object obj) throws Exception { ChannelPipeline pipeline = ctx.channel().pipeline(); ChannelPipeline pipeline1 = ctx.pipeline(); System.out.println("pipeline is equal"+(pipeline==pipeline1)+" "+(ctx.channel()==ctx.pipeline().channel())); Message msg = (Message)obj; System.out.println("HeartBeatRespHandler receive msg:"+msg.toString()); if(msg!=null && msg.getHead().getType()== MsgTypeEnum.HEARTBEAT_REQUEST.getType().byteValue()){ Head head = Head.builder().sessionId(NettyConstant.LOGIN_SESSION_ID).priority(NettyConstant.PRIORITY) .crcCode(NettyConstant.CRC_CODE).type(MsgTypeEnum.HEARTBEAT_RESPONSE.getType().byteValue()) .length(NettyConstant.HEAD_LENGTH).build(); msg.setHead(head); ctx.channel().writeAndFlush(msg); }else{ ctx.fireChannelRead(obj); } } @Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { System.out.println(cause); ctx.close(); } }
package com.drawnblue.netty.handler; import com.drawnblue.nettycommon.entity.Message; import com.drawnblue.nettycommon.enums.MsgTypeEnum; import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.net.InetSocketAddress; @Component public class MessageHandler extends ChannelInboundHandlerAdapter { Logger log = LoggerFactory.getLogger(this.getClass()); private String writeList="192.168.25.92:8800,/127.0.0.1:8800"; @Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { Message message = (Message)msg; System.out.println(msg.toString()); if(message!=null && message.getHead().getType()== MsgTypeEnum.HANDSHAKE_REQUEST.getType().byteValue()){ Channel channel = ctx.channel(); String remoteIp = channel.remoteAddress().toString(); InetSocketAddress addr = (InetSocketAddress) channel.remoteAddress(); System.out.println(addr.toString()); System.out.println(remoteIp+"\t"+writeList.contains(remoteIp)); if(writeList.contains(remoteIp)){ message.getHead().setType(MsgTypeEnum.HANDSHAKE_RESPONSE.getType().byteValue()); log.info("message 发送出去~~~~~~{}",message.toString()); ctx.writeAndFlush(message); } }else{ ctx.fireChannelRead(msg); } } @Override public void channelReadComplete(ChannelHandlerContext ctx) throws Exception { super.channelReadComplete(ctx); } @Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { System.out.println(cause); Channel channel = ctx.channel(); if(channel.isActive()){ ctx.close(); } } }
package com.drawnblue.netty.handler; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.channel.*; import io.netty.channel.group.ChannelGroup; import io.netty.channel.group.DefaultChannelGroup; import io.netty.util.CharsetUtil; import io.netty.util.concurrent.GlobalEventExecutor; public class ResponseBuz extends ChannelInboundHandlerAdapter { private static ChannelGroup channelGroup = new DefaultChannelGroup(GlobalEventExecutor.INSTANCE); @Override public void handlerAdded(ChannelHandlerContext ctx) throws Exception { Channel channel = ctx.channel(); channelGroup.add(channel); channelGroup.writeAndFlush("客户["+channel.remoteAddress()+"]加入聊天"); } @Override public void handlerRemoved(ChannelHandlerContext ctx) throws Exception { Channel channel = ctx.channel(); channelGroup.writeAndFlush("客户["+channel.remoteAddress()+"]离开了聊天"); } @Override public void channelActive(ChannelHandlerContext ctx) throws Exception { System.out.println(ctx.channel().remoteAddress()+"上线了"); } @Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { ByteBuf buf = (ByteBuf) msg; byte[] b = new byte[buf.readableBytes()]; buf.readBytes(b); String str = new String(b); Channel channel = ctx.channel(); System.out.println("接收到客户端【"+ channel.remoteAddress()+"】发送过来的消息:"+buf.toString(CharsetUtil.UTF_8)); channelGroup.forEach(ch->{ if(channel!=ch){ ch.writeAndFlush(Unpooled.copiedBuffer(("[" + channel.remoteAddress() + "发送了消息:]" + str+"\n").getBytes()) ); }else{ ch.writeAndFlush(Unpooled.copiedBuffer(("【自己】发送的消息:"+str).getBytes())); } }); } @Override public void channelReadComplete(ChannelHandlerContext ctx) throws Exception { } @Override public void channelInactive(ChannelHandlerContext ctx) throws Exception { System.out.println(ctx.channel().remoteAddress()+"离线了"); } @Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { System.out.println(cause); ctx.flush(); } }
客户端代码
package com.drawnblue.netty.client; import com.drawnblue.netty.handler.HeartBeatReqHandler; import com.drawnblue.netty.handler.LoginReqHandler; import com.drawnblue.nettycommon.codec.MsgDecode; import com.drawnblue.nettycommon.codec.MsgEncode; import io.netty.bootstrap.Bootstrap; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioSocketChannel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; @Component public class TCPClient implements CommandLineRunner { Logger log = LoggerFactory.getLogger(this.getClass()); @Value("${netty.host}") private String host; @Value("${netty.port}") private Integer port; @Override public void run(String... args){ NioEventLoopGroup client = new NioEventLoopGroup(); Bootstrap bootstrap = new Bootstrap(); try{ bootstrap.group(client).channel(NioSocketChannel.class).localAddress("127.0.0.1",8800) .handler(new ChannelInitializer<Channel>() { @Override protected void initChannel(Channel channel) throws Exception { channel.pipeline().addLast(new MsgDecode()) .addLast(new MsgEncode()) .addLast(new HeartBeatReqHandler()) .addLast(new LoginReqHandler()); } }); ChannelFuture f = bootstrap.connect(host,port).sync(); if(f.isSuccess()){ log.info("客户端连接主机:{},ip:{}成功!",this.host,this.port); } f.channel().closeFuture().sync(); }catch (Exception e){ e.printStackTrace(); }finally { client.shutdownGracefully(); } } }
package com.drawnblue.netty.handler; import com.drawnblue.nettycommon.constant.NettyConstant; import com.drawnblue.nettycommon.entity.Head; import com.drawnblue.nettycommon.entity.Message; import com.drawnblue.nettycommon.enums.MsgTypeEnum; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; import java.util.concurrent.TimeUnit; public class HeartBeatReqHandler extends ChannelInboundHandlerAdapter { @Override public void channelRead(ChannelHandlerContext ctx, Object obj) throws Exception { Message msg = (Message) obj; System.out.println("heartbeatReqhandler receive msg:"+msg.toString()); if(msg!=null && msg.getHead().getType()== MsgTypeEnum.HANDSHAKE_RESPONSE.getType().byteValue()){ ctx.executor().scheduleAtFixedRate(new Runnable() { @Override public void run() { Head head = Head.builder().sessionId(NettyConstant.LOGIN_SESSION_ID).priority(NettyConstant.PRIORITY) .crcCode(NettyConstant.CRC_CODE).type(MsgTypeEnum.HEARTBEAT_REQUEST.getType().byteValue()) .length(NettyConstant.HEAD_LENGTH).build(); Message message = Message.builder().head(head).build(); System.out.println("clent send heartbeat***"); ctx.channel().writeAndFlush(message); } },0,50, TimeUnit.SECONDS); }else if(msg!=null && msg.getHead().getType()== MsgTypeEnum.HEARTBEAT_RESPONSE.getType().byteValue()){ System.out.println("client receive heartbeat msg:"+msg.toString()); }else{ ctx.fireChannelRead(obj); } } @Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { System.out.println(cause); ctx.close(); } }
package com.drawnblue.netty.handler; import com.drawnblue.nettycommon.entity.Body; import com.drawnblue.nettycommon.entity.Head; import com.drawnblue.nettycommon.entity.Message; import com.drawnblue.nettycommon.enums.MsgTypeEnum; import com.drawnblue.nettycommon.util.ByteUtil; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; import java.util.HashMap; import java.util.Map; public class LoginReqHandler extends ChannelInboundHandlerAdapter { @Override public void channelActive(ChannelHandlerContext ctx) throws Exception { Head head = Head.builder().priority((byte)1).sessionId(23l).crcCode(1).type(MsgTypeEnum.HANDSHAKE_REQUEST.getType().byteValue()).build(); Map<String,Object> attachment = new HashMap<>(); attachment.put("dev","2534"); attachment.put("name","张三"); head.setAttachment(attachment); Body body = new Body(); body.setPayload("welcom to shenzhen"); Message message = Message.builder().head(head).body(body).build(); int len = ByteUtil.calculateLenth(message); message.getHead().setLength(len); ctx.writeAndFlush(message); } @Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { Message message = (Message)msg; if(message!=null && message.getHead().getType()==MsgTypeEnum.HANDSHAKE_RESPONSE.getType().byteValue()){ System.out.println("kkkkkkkkkkkkkkk"); }else { ctx.fireChannelRead(msg); } } @Override public void channelReadComplete(ChannelHandlerContext ctx) throws Exception { super.channelReadComplete(ctx); } @Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { super.exceptionCaught(ctx, cause); } }
application.yml,服务端类似
server.port=8003 netty.host=127.0.0.1 netty.port=8889 logback.customer.level=debug logging.config=classpath:conf/logback.xml netty.clientId=abc123
启动服务端后启动客户端运行如下:
服务端
D:\topbandSoft\java\jdk1.8\bin\java.exe -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=62532 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:G:\soft\IDEA\IntelliJ IDEA 2018.2.5\lib\idea_rt.jar=62533:G:\soft\IDEA\IntelliJ IDEA 2018.2.5\bin" -Dfile.encoding=UTF-8 -classpath D:\topbandSoft\java\jdk1.8\jre\lib\charsets.jar;D:\topbandSoft\java\jdk1.8\jre\lib\deploy.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\access-bridge-64.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\cldrdata.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\dnsns.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\jaccess.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\jfxrt.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\localedata.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\nashorn.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\sunec.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\sunjce_provider.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\sunmscapi.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\sunpkcs11.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\zipfs.jar;D:\topbandSoft\java\jdk1.8\jre\lib\javaws.jar;D:\topbandSoft\java\jdk1.8\jre\lib\jce.jar;D:\topbandSoft\java\jdk1.8\jre\lib\jfr.jar;D:\topbandSoft\java\jdk1.8\jre\lib\jfxswt.jar;D:\topbandSoft\java\jdk1.8\jre\lib\jsse.jar;D:\topbandSoft\java\jdk1.8\jre\lib\management-agent.jar;D:\topbandSoft\java\jdk1.8\jre\lib\plugin.jar;D:\topbandSoft\java\jdk1.8\jre\lib\resources.jar;D:\topbandSoft\java\jdk1.8\jre\lib\rt.jar;G:\drawnblue\netty-component\nettyService\target\classes;E:\localRepository\org\springframework\boot\spring-boot-starter\2.1.6.RELEASE\spring-boot-starter-2.1.6.RELEASE.jar;E:\localRepository\org\springframework\boot\spring-boot\2.1.6.RELEASE\spring-boot-2.1.6.RELEASE.jar;E:\localRepository\org\springframework\spring-context\5.1.8.RELEASE\spring-context-5.1.8.RELEASE.jar;E:\localRepository\org\springframework\spring-aop\5.1.8.RELEASE\spring-aop-5.1.8.RELEASE.jar;E:\localRepository\org\springframework\spring-beans\5.1.8.RELEASE\spring-beans-5.1.8.RELEASE.jar;E:\localRepository\org\springframework\spring-expression\5.1.8.RELEASE\spring-expression-5.1.8.RELEASE.jar;E:\localRepository\org\springframework\boot\spring-boot-autoconfigure\2.1.6.RELEASE\spring-boot-autoconfigure-2.1.6.RELEASE.jar;E:\localRepository\org\springframework\boot\spring-boot-starter-logging\2.1.6.RELEASE\spring-boot-starter-logging-2.1.6.RELEASE.jar;E:\localRepository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;E:\localRepository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;E:\localRepository\org\apache\logging\log4j\log4j-to-slf4j\2.11.2\log4j-to-slf4j-2.11.2.jar;E:\localRepository\org\apache\logging\log4j\log4j-api\2.11.2\log4j-api-2.11.2.jar;E:\localRepository\org\slf4j\jul-to-slf4j\1.7.26\jul-to-slf4j-1.7.26.jar;E:\localRepository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;E:\localRepository\org\springframework\spring-core\5.1.8.RELEASE\spring-core-5.1.8.RELEASE.jar;E:\localRepository\org\springframework\spring-jcl\5.1.8.RELEASE\spring-jcl-5.1.8.RELEASE.jar;E:\localRepository\org\yaml\snakeyaml\1.23\snakeyaml-1.23.jar;E:\localRepository\io\netty\netty-all\4.1.50.Final\netty-all-4.1.50.Final.jar;G:\drawnblue\netty-component\netty-common\target\classes;E:\localRepository\org\projectlombok\lombok\1.16.18\lombok-1.16.18.jar;E:\localRepository\cn\hutool\hutool-all\5.0.5\hutool-all-5.0.5.jar;E:\localRepository\org\slf4j\slf4j-api\1.7.26\slf4j-api-1.7.26.jar com.drawnblue.netty.ServiceApplication 10:10:42,499 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Will scan for changes in [file:/G:/drawnblue/netty-component/nettyService/target/classes/conf/logback.xml] 10:10:42,500 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Setting ReconfigureOnChangeTask scanning period to 1 minutes 10:10:42,503 |-WARN in Logger[org.springframework.core.env.PropertySourcesPropertyResolver] - No appenders present in context [default] for logger [org.springframework.core.env.PropertySourcesPropertyResolver]. 10:10:42,504 |-INFO in ch.qos.logback.classic.joran.action.ContextNameAction - Setting logger context name as [elk] 10:10:42,504 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender] 10:10:42,504 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT] 10:10:42,520 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.apache.ibatis] to TRACE 10:10:42,520 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@197d671 - Propagating TRACE level on Logger[com.apache.ibatis] onto the JUL framework 10:10:42,521 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [java.sql.Connection] to DEBUG 10:10:42,521 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@197d671 - Propagating DEBUG level on Logger[java.sql.Connection] onto the JUL framework 10:10:42,521 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [java.sql.Statement] to DEBUG 10:10:42,521 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@197d671 - Propagating DEBUG level on Logger[java.sql.Statement] onto the JUL framework 10:10:42,521 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [java.sql.PreparedStatement] to DEBUG 10:10:42,521 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@197d671 - Propagating DEBUG level on Logger[java.sql.PreparedStatement] onto the JUL framework 10:10:42,521 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to DEBUG 10:10:42,521 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT] 10:10:42,521 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration. 10:10:42,521 |-INFO in org.springframework.boot.logging.logback.SpringBootJoranConfigurator@5a955565 - Registering current configuration as safe fallback point 2020-09-08 10:10:42.530 {main} DEBUG o.s.b.c.l.ClasspathLoggingApplicationListener - Application started with classpath: [file:/D:/topbandSoft/java/jdk1.8/jre/lib/charsets.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/deploy.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/access-bridge-64.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/cldrdata.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/dnsns.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/jaccess.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/jfxrt.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/localedata.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/nashorn.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/sunec.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/sunjce_provider.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/sunmscapi.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/sunpkcs11.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/zipfs.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/javaws.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/jce.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/jfr.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/jfxswt.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/jsse.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/management-agent.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/plugin.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/resources.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/rt.jar, file:/G:/drawnblue/netty-component/nettyService/target/classes/, file:/E:/localRepository/org/springframework/boot/spring-boot-starter/2.1.6.RELEASE/spring-boot-starter-2.1.6.RELEASE.jar, file:/E:/localRepository/org/springframework/boot/spring-boot/2.1.6.RELEASE/spring-boot-2.1.6.RELEASE.jar, file:/E:/localRepository/org/springframework/spring-context/5.1.8.RELEASE/spring-context-5.1.8.RELEASE.jar, file:/E:/localRepository/org/springframework/spring-aop/5.1.8.RELEASE/spring-aop-5.1.8.RELEASE.jar, file:/E:/localRepository/org/springframework/spring-beans/5.1.8.RELEASE/spring-beans-5.1.8.RELEASE.jar, file:/E:/localRepository/org/springframework/spring-expression/5.1.8.RELEASE/spring-expression-5.1.8.RELEASE.jar, file:/E:/localRepository/org/springframework/boot/spring-boot-autoconfigure/2.1.6.RELEASE/spring-boot-autoconfigure-2.1.6.RELEASE.jar, file:/E:/localRepository/org/springframework/boot/spring-boot-starter-logging/2.1.6.RELEASE/spring-boot-starter-logging-2.1.6.RELEASE.jar, file:/E:/localRepository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar, file:/E:/localRepository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar, file:/E:/localRepository/org/apache/logging/log4j/log4j-to-slf4j/2.11.2/log4j-to-slf4j-2.11.2.jar, file:/E:/localRepository/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2.jar, file:/E:/localRepository/org/slf4j/jul-to-slf4j/1.7.26/jul-to-slf4j-1.7.26.jar, file:/E:/localRepository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar, file:/E:/localRepository/org/springframework/spring-core/5.1.8.RELEASE/spring-core-5.1.8.RELEASE.jar, file:/E:/localRepository/org/springframework/spring-jcl/5.1.8.RELEASE/spring-jcl-5.1.8.RELEASE.jar, file:/E:/localRepository/org/yaml/snakeyaml/1.23/snakeyaml-1.23.jar, file:/E:/localRepository/io/netty/netty-all/4.1.50.Final/netty-all-4.1.50.Final.jar, file:/G:/drawnblue/netty-component/netty-common/target/classes/, file:/E:/localRepository/org/projectlombok/lombok/1.16.18/lombok-1.16.18.jar, file:/E:/localRepository/cn/hutool/hutool-all/5.0.5/hutool-all-5.0.5.jar, file:/E:/localRepository/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26.jar, file:/G:/soft/IDEA/IntelliJ%20IDEA%202018.2.5/lib/idea_rt.jar] . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.1.6.RELEASE) 2020-09-08 10:10:42.583 {main} INFO com.drawnblue.netty.ServiceApplication - Starting ServiceApplication on LICY with PID 18736 (G:\drawnblue\netty-component\nettyService\target\classes started by Administrator in G:\drawnblue\netty-component) 2020-09-08 10:10:42.583 {main} DEBUG com.drawnblue.netty.ServiceApplication - Running with Spring Boot v2.1.6.RELEASE, Spring v5.1.8.RELEASE 2020-09-08 10:10:42.583 {main} INFO com.drawnblue.netty.ServiceApplication - No active profile set, falling back to default profiles: default 2020-09-08 10:10:42.583 {main} DEBUG org.springframework.boot.SpringApplication - Loading source class com.drawnblue.netty.ServiceApplication 2020-09-08 10:10:42.614 {main} DEBUG o.s.b.context.config.ConfigFileApplicationListener - Loaded config file 'file:/G:/drawnblue/netty-component/nettyService/target/classes/application.properties' (classpath:/application.properties) 2020-09-08 10:10:42.614 {main} DEBUG o.s.c.a.AnnotationConfigApplicationContext - Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@4e91d63f 2020-09-08 10:10:42.626 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor' 2020-09-08 10:10:42.636 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.internalCachingMetadataReaderFactory' 2020-09-08 10:10:42.708 {main} DEBUG o.s.c.annotation.ClassPathBeanDefinitionScanner - Identified candidate component class: file [G:\drawnblue\netty-component\nettyService\target\classes\com\drawnblue\netty\handler\MessageHandler.class] 2020-09-08 10:10:42.725 {main} DEBUG o.s.c.annotation.ClassPathBeanDefinitionScanner - Identified candidate component class: file [G:\drawnblue\netty-component\nettyService\target\classes\com\drawnblue\netty\handler\TcpService.class] 2020-09-08 10:10:42.798 {main} DEBUG o.s.core.env.PropertySourcesPropertyResolver - Found key 'spring.application.admin.enabled' in PropertySource 'configurationProperties' with value of type String 2020-09-08 10:10:42.841 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.condition.BeanTypeRegistry' 2020-09-08 10:10:42.856 {main} DEBUG o.s.core.env.PropertySourcesPropertyResolver - Found key 'spring.application.admin.enabled' in PropertySource 'configurationProperties' with value of type String 2020-09-08 10:10:42.935 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'propertySourcesPlaceholderConfigurer' 2020-09-08 10:10:42.939 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.event.internalEventListenerProcessor' 2020-09-08 10:10:42.940 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.context.properties.ConfigurationBeanFactoryMetadata' 2020-09-08 10:10:42.940 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.event.internalEventListenerFactory' 2020-09-08 10:10:42.942 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.annotation.internalAutowiredAnnotationProcessor' 2020-09-08 10:10:42.943 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.annotation.internalCommonAnnotationProcessor' 2020-09-08 10:10:42.945 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor' 2020-09-08 10:10:42.948 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'serviceApplication' 2020-09-08 10:10:42.952 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'messageHandler' 2020-09-08 10:10:42.954 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'tcpService' 2020-09-08 10:10:42.957 {main} DEBUG o.s.core.env.PropertySourcesPropertyResolver - Found key 'netty.port' in PropertySource 'configurationProperties' with value of type String 2020-09-08 10:10:42.957 {main} DEBUG o.s.core.env.PropertySourcesPropertyResolver - Found key 'netty.port' in PropertySource 'environmentProperties' with value of type String 2020-09-08 10:10:42.959 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.AutoConfigurationPackages' 2020-09-08 10:10:42.963 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration' 2020-09-08 10:10:42.965 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration' 2020-09-08 10:10:42.974 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'mbeanExporter' 2020-09-08 10:10:42.975 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'objectNamingStrategy' 2020-09-08 10:10:42.979 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'mbeanExporter' via factory method to bean named 'objectNamingStrategy' 2020-09-08 10:10:42.982 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'mbeanServer' 2020-09-08 10:10:42.984 {main} DEBUG org.springframework.jmx.support.JmxUtils - Found MBeanServer: com.sun.jmx.mbeanserver.JmxMBeanServer@5b2133b1 2020-09-08 10:10:42.988 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration' 2020-09-08 10:10:42.988 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration$$EnhancerBySpringCGLIB$$415c9eb0] - unable to determine constructor/method parameter names 2020-09-08 10:10:42.989 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration' via constructor to bean named 'environment' 2020-09-08 10:10:42.992 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'springApplicationAdminRegistrar' 2020-09-08 10:10:43.000 {main} DEBUG o.s.b.a.SpringApplicationAdminMXBeanRegistrar$SpringApplicationAdmin - Application Admin MBean registered with name 'org.springframework.boot:type=Admin,name=SpringApplication' 2020-09-08 10:10:43.000 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration' 2020-09-08 10:10:43.001 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration' 2020-09-08 10:10:43.002 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration$$EnhancerBySpringCGLIB$$eaaa0afb] - unable to determine constructor/method parameter names 2020-09-08 10:10:43.002 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'spring.info-org.springframework.boot.autoconfigure.info.ProjectInfoProperties' 2020-09-08 10:10:43.009 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration' via constructor to bean named 'spring.info-org.springframework.boot.autoconfigure.info.ProjectInfoProperties' 2020-09-08 10:10:43.010 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'buildProperties' 2020-09-08 10:10:43.020 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration' 2020-09-08 10:10:43.020 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration$$EnhancerBySpringCGLIB$$3a4f96b8] - unable to determine constructor/method parameter names 2020-09-08 10:10:43.021 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'spring.task.execution-org.springframework.boot.autoconfigure.task.TaskExecutionProperties' 2020-09-08 10:10:43.023 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration' via constructor to bean named 'spring.task.execution-org.springframework.boot.autoconfigure.task.TaskExecutionProperties' 2020-09-08 10:10:43.026 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'taskExecutorBuilder' 2020-09-08 10:10:43.029 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration' 2020-09-08 10:10:43.030 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'taskSchedulerBuilder' 2020-09-08 10:10:43.030 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'spring.task.scheduling-org.springframework.boot.autoconfigure.task.TaskSchedulingProperties' 2020-09-08 10:10:43.031 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'taskSchedulerBuilder' via factory method to bean named 'spring.task.scheduling-org.springframework.boot.autoconfigure.task.TaskSchedulingProperties' 2020-09-08 10:10:43.038 {main} DEBUG o.s.jmx.export.annotation.AnnotationMBeanExporter - Registering beans for JMX exposure on startup 2020-09-08 10:10:43.038 {main} DEBUG o.s.jmx.export.annotation.AnnotationMBeanExporter - Autodetecting user-defined JMX MBeans 2020-09-08 10:10:43.065 {main} DEBUG o.s.b.a.l.ConditionEvaluationReportLoggingListener - ============================ CONDITIONS EVALUATION REPORT ============================ Positive matches: ----------------- GenericCacheConfiguration matched: - Cache org.springframework.boot.autoconfigure.cache.GenericCacheConfiguration automatic cache type (CacheCondition) JmxAutoConfiguration matched: - @ConditionalOnClass found required class 'org.springframework.jmx.export.MBeanExporter' (OnClassCondition) - @ConditionalOnProperty (spring.jmx.enabled=true) matched (OnPropertyCondition) JmxAutoConfiguration#mbeanExporter matched: - @ConditionalOnMissingBean (types: org.springframework.jmx.export.MBeanExporter; SearchStrategy: current) did not find any beans (OnBeanCondition) JmxAutoConfiguration#mbeanServer matched: - @ConditionalOnMissingBean (types: javax.management.MBeanServer; SearchStrategy: all) did not find any beans (OnBeanCondition) JmxAutoConfiguration#objectNamingStrategy matched: - @ConditionalOnMissingBean (types: org.springframework.jmx.export.naming.ObjectNamingStrategy; SearchStrategy: current) did not find any beans (OnBeanCondition) NoOpCacheConfiguration matched: - Cache org.springframework.boot.autoconfigure.cache.NoOpCacheConfiguration automatic cache type (CacheCondition) ProjectInfoAutoConfiguration#buildProperties matched: - @ConditionalOnResource found location ${spring.info.build.location:classpath:META-INF/build-info.properties} (OnResourceCondition) - @ConditionalOnMissingBean (types: org.springframework.boot.info.BuildProperties; SearchStrategy: all) did not find any beans (OnBeanCondition) PropertyPlaceholderAutoConfiguration#propertySourcesPlaceholderConfigurer matched: - @ConditionalOnMissingBean (types: org.springframework.context.support.PropertySourcesPlaceholderConfigurer; SearchStrategy: current) did not find any beans (OnBeanCondition) SimpleCacheConfiguration matched: - Cache org.springframework.boot.autoconfigure.cache.SimpleCacheConfiguration automatic cache type (CacheCondition) SpringApplicationAdminJmxAutoConfiguration matched: - @ConditionalOnProperty (spring.application.admin.enabled=true) matched (OnPropertyCondition) SpringApplicationAdminJmxAutoConfiguration#springApplicationAdminRegistrar matched: - @ConditionalOnMissingBean (types: org.springframework.boot.admin.SpringApplicationAdminMXBeanRegistrar; SearchStrategy: all) did not find any beans (OnBeanCondition) TaskExecutionAutoConfiguration matched: - @ConditionalOnClass found required class 'org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor' (OnClassCondition) TaskExecutionAutoConfiguration#applicationTaskExecutor matched: - @ConditionalOnMissingBean (types: java.util.concurrent.Executor; SearchStrategy: all) did not find any beans (OnBeanCondition) TaskExecutionAutoConfiguration#taskExecutorBuilder matched: - @ConditionalOnMissingBean (types: org.springframework.boot.task.TaskExecutorBuilder; SearchStrategy: all) did not find any beans (OnBeanCondition) TaskSchedulingAutoConfiguration matched: - @ConditionalOnClass found required class 'org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler' (OnClassCondition) TaskSchedulingAutoConfiguration#taskSchedulerBuilder matched: - @ConditionalOnMissingBean (types: org.springframework.boot.task.TaskSchedulerBuilder; SearchStrategy: all) did not find any beans (OnBeanCondition) Negative matches: ----------------- ActiveMQAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.jms.ConnectionFactory' (OnClassCondition) AopAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.aspectj.lang.annotation.Aspect' (OnClassCondition) ArtemisAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.jms.ConnectionFactory' (OnClassCondition) BatchAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.batch.core.launch.JobLauncher' (OnClassCondition) CacheAutoConfiguration: Did not match: - @ConditionalOnBean (types: org.springframework.cache.interceptor.CacheAspectSupport; SearchStrategy: all) did not find any beans of type org.springframework.cache.interceptor.CacheAspectSupport (OnBeanCondition) Matched: - @ConditionalOnClass found required class 'org.springframework.cache.CacheManager' (OnClassCondition) CacheAutoConfiguration.CacheManagerJpaDependencyConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean' (OnClassCondition) - Ancestor org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration did not match (ConditionEvaluationReport.AncestorsMatchedCondition) CaffeineCacheConfiguration: Did not match: - @ConditionalOnClass did not find required classes 'com.github.benmanes.caffeine.cache.Caffeine', 'org.springframework.cache.caffeine.CaffeineCacheManager' (OnClassCondition) CassandraAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.datastax.driver.core.Cluster' (OnClassCondition) CassandraDataAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.datastax.driver.core.Cluster' (OnClassCondition) CassandraReactiveDataAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.datastax.driver.core.Cluster' (OnClassCondition) CassandraReactiveRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.cassandra.ReactiveSession' (OnClassCondition) CassandraRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.datastax.driver.core.Session' (OnClassCondition) ClientHttpConnectorAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.web.reactive.function.client.WebClient' (OnClassCondition) CloudServiceConnectorsAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.cloud.config.java.CloudScanConfiguration' (OnClassCondition) CodecsAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.http.codec.CodecConfigurer' (OnClassCondition) CouchbaseAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.couchbase.client.java.Cluster' (OnClassCondition) CouchbaseCacheConfiguration: Did not match: - @ConditionalOnClass did not find required classes 'com.couchbase.client.java.Bucket', 'com.couchbase.client.spring.cache.CouchbaseCacheManager' (OnClassCondition) CouchbaseDataAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.couchbase.client.java.Bucket' (OnClassCondition) CouchbaseReactiveDataAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.couchbase.client.java.Bucket' (OnClassCondition) CouchbaseReactiveRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.couchbase.client.java.Bucket' (OnClassCondition) CouchbaseRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.couchbase.client.java.Bucket' (OnClassCondition) DataSourceAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType' (OnClassCondition) DataSourceTransactionManagerAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.jdbc.core.JdbcTemplate' (OnClassCondition) DispatcherServletAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.web.servlet.DispatcherServlet' (OnClassCondition) EhCacheCacheConfiguration: Did not match: - @ConditionalOnClass did not find required classes 'net.sf.ehcache.Cache', 'org.springframework.cache.ehcache.EhCacheCacheManager' (OnClassCondition) ElasticsearchAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.elasticsearch.client.Client' (OnClassCondition) ElasticsearchDataAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.elasticsearch.client.Client' (OnClassCondition) ElasticsearchRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.elasticsearch.client.Client' (OnClassCondition) EmbeddedLdapAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.unboundid.ldap.listener.InMemoryDirectoryServer' (OnClassCondition) EmbeddedMongoAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.mongodb.MongoClient' (OnClassCondition) EmbeddedWebServerFactoryCustomizerAutoConfiguration: Did not match: - @ConditionalOnWebApplication did not find reactive or servlet web application classes (OnWebApplicationCondition) ErrorMvcAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.servlet.Servlet' (OnClassCondition) ErrorWebFluxAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.web.reactive.config.WebFluxConfigurer' (OnClassCondition) FlywayAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.flywaydb.core.Flyway' (OnClassCondition) FreeMarkerAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'freemarker.template.Configuration' (OnClassCondition) GroovyTemplateAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'groovy.text.markup.MarkupTemplateEngine' (OnClassCondition) GsonAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.google.gson.Gson' (OnClassCondition) H2ConsoleAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.h2.server.web.WebServlet' (OnClassCondition) HazelcastAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.hazelcast.core.HazelcastInstance' (OnClassCondition) HazelcastCacheConfiguration: Did not match: - @ConditionalOnClass did not find required classes 'com.hazelcast.core.HazelcastInstance', 'com.hazelcast.spring.cache.HazelcastCacheManager' (OnClassCondition) HazelcastJpaDependencyAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.hazelcast.core.HazelcastInstance' (OnClassCondition) HibernateJpaAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.persistence.EntityManager' (OnClassCondition) HttpEncodingAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.web.filter.CharacterEncodingFilter' (OnClassCondition) HttpHandlerAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.http.server.reactive.HttpHandler' (OnClassCondition) HttpMessageConvertersAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.http.converter.HttpMessageConverter' (OnClassCondition) HypermediaAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.hateoas.Resource' (OnClassCondition) InfinispanCacheConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.infinispan.spring.provider.SpringEmbeddedCacheManager' (OnClassCondition) InfluxDbAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.influxdb.InfluxDB' (OnClassCondition) IntegrationAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.integration.config.EnableIntegration' (OnClassCondition) JCacheCacheConfiguration: Did not match: - @ConditionalOnClass did not find required classes 'javax.cache.Caching', 'org.springframework.cache.jcache.JCacheCacheManager' (OnClassCondition) JacksonAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.fasterxml.jackson.databind.ObjectMapper' (OnClassCondition) JdbcRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.jdbc.repository.config.JdbcConfiguration' (OnClassCondition) JdbcTemplateAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.jdbc.core.JdbcTemplate' (OnClassCondition) JerseyAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.servlet.ServletRegistration' (OnClassCondition) JestAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'io.searchbox.client.JestClient' (OnClassCondition) JmsAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.jms.Message' (OnClassCondition) JndiConnectionFactoryAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.jms.core.JmsTemplate' (OnClassCondition) JndiDataSourceAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType' (OnClassCondition) JooqAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.jooq.DSLContext' (OnClassCondition) JpaRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.jpa.repository.JpaRepository' (OnClassCondition) JsonbAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.json.bind.Jsonb' (OnClassCondition) JtaAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.transaction.Transaction' (OnClassCondition) KafkaAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.kafka.core.KafkaTemplate' (OnClassCondition) LdapAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.ldap.core.ContextSource' (OnClassCondition) LdapRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.ldap.repository.LdapRepository' (OnClassCondition) LiquibaseAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'liquibase.change.DatabaseChange' (OnClassCondition) MailSenderAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.mail.internet.MimeMessage' (OnClassCondition) MailSenderValidatorAutoConfiguration: Did not match: - @ConditionalOnSingleCandidate did not find required type 'org.springframework.mail.javamail.JavaMailSenderImpl' (OnBeanCondition) MessageSourceAutoConfiguration: Did not match: - ResourceBundle did not find bundle with basename messages (MessageSourceAutoConfiguration.ResourceBundleCondition) MongoAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.mongodb.MongoClient' (OnClassCondition) MongoDataAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.mongodb.client.MongoClient' (OnClassCondition) MongoReactiveAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.mongodb.reactivestreams.client.MongoClient' (OnClassCondition) MongoReactiveDataAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.mongodb.reactivestreams.client.MongoClient' (OnClassCondition) MongoReactiveRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.mongodb.reactivestreams.client.MongoClient' (OnClassCondition) MongoRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.mongodb.MongoClient' (OnClassCondition) MultipartAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.servlet.MultipartConfigElement' (OnClassCondition) MustacheAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.samskivert.mustache.Mustache' (OnClassCondition) Neo4jDataAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.neo4j.ogm.session.SessionFactory' (OnClassCondition) Neo4jRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.neo4j.ogm.session.Neo4jSession' (OnClassCondition) OAuth2ClientAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.security.config.annotation.web.configuration.EnableWebSecurity' (OnClassCondition) OAuth2ResourceServerAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.security.oauth2.jwt.JwtDecoder' (OnClassCondition) PersistenceExceptionTranslationAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor' (OnClassCondition) ProjectInfoAutoConfiguration#gitProperties: Did not match: - GitResource did not find git info at classpath:git.properties (ProjectInfoAutoConfiguration.GitResourceAvailableCondition) QuartzAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.quartz.Scheduler' (OnClassCondition) RabbitAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.rabbitmq.client.Channel' (OnClassCondition) ReactiveOAuth2ClientAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'reactor.core.publisher.Flux' (OnClassCondition) ReactiveOAuth2ResourceServerAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity' (OnClassCondition) ReactiveSecurityAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'reactor.core.publisher.Flux' (OnClassCondition) ReactiveUserDetailsServiceAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.security.authentication.ReactiveAuthenticationManager' (OnClassCondition) ReactiveWebServerFactoryAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.http.ReactiveHttpInputMessage' (OnClassCondition) ReactorCoreAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'reactor.core.publisher.Flux' (OnClassCondition) RedisAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.redis.core.RedisOperations' (OnClassCondition) RedisCacheConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.redis.connection.RedisConnectionFactory' (OnClassCondition) RedisReactiveAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'reactor.core.publisher.Flux' (OnClassCondition) RedisRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.redis.repository.configuration.EnableRedisRepositories' (OnClassCondition) RepositoryRestMvcAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration' (OnClassCondition) RestClientAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.elasticsearch.client.RestClient' (OnClassCondition) RestTemplateAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.web.client.RestTemplate' (OnClassCondition) SecurityAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.security.authentication.DefaultAuthenticationEventPublisher' (OnClassCondition) SecurityFilterAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.security.config.http.SessionCreationPolicy' (OnClassCondition) SecurityRequestMatcherProviderAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.security.web.util.matcher.RequestMatcher' (OnClassCondition) SendGridAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.sendgrid.SendGrid' (OnClassCondition) ServletWebServerFactoryAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.servlet.ServletRequest' (OnClassCondition) SessionAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.session.Session' (OnClassCondition) SolrAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.apache.solr.client.solrj.impl.CloudSolrClient' (OnClassCondition) SolrRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.apache.solr.client.solrj.SolrClient' (OnClassCondition) SpringDataWebAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.web.PageableHandlerMethodArgumentResolver' (OnClassCondition) TaskSchedulingAutoConfiguration#taskScheduler: Did not match: - @ConditionalOnBean (names: org.springframework.context.annotation.internalScheduledAnnotationProcessor; SearchStrategy: all) did not find any beans named org.springframework.context.annotation.internalScheduledAnnotationProcessor (OnBeanCondition) ThymeleafAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.thymeleaf.spring5.SpringTemplateEngine' (OnClassCondition) TransactionAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.transaction.PlatformTransactionManager' (OnClassCondition) UserDetailsServiceAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.security.authentication.AuthenticationManager' (OnClassCondition) ValidationAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.validation.executable.ExecutableValidator' (OnClassCondition) WebClientAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.web.reactive.function.client.WebClient' (OnClassCondition) WebFluxAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.web.reactive.config.WebFluxConfigurer' (OnClassCondition) WebMvcAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.servlet.Servlet' (OnClassCondition) WebServiceTemplateAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.oxm.Marshaller' (OnClassCondition) WebServicesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.ws.transport.http.MessageDispatcherServlet' (OnClassCondition) WebSocketMessagingAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer' (OnClassCondition) WebSocketReactiveAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.servlet.Servlet' (OnClassCondition) WebSocketServletAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.servlet.Servlet' (OnClassCondition) XADataSourceAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.transaction.TransactionManager' (OnClassCondition) Exclusions: ----------- None Unconditional classes: ---------------------- org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration 2020-09-08 10:10:43.074 {main} DEBUG o.s.core.env.PropertySourcesPropertyResolver - Found key 'spring.liveBeansView.mbeanDomain' in PropertySource 'systemProperties' with value of type String 2020-09-08 10:10:43.077 {main} INFO com.drawnblue.netty.ServiceApplication - Started ServiceApplication in 0.784 seconds (JVM running for 1.405) 2020-09-08 10:10:43.080 {main} DEBUG i.n.util.internal.logging.InternalLoggerFactory - Using SLF4J as the default logging framework 2020-09-08 10:10:43.082 {main} DEBUG io.netty.channel.MultithreadEventLoopGroup - -Dio.netty.eventLoopThreads: 8 2020-09-08 10:10:43.093 {main} DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.initialSize: 1024 2020-09-08 10:10:43.093 {main} DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.maxSize: 4096 2020-09-08 10:10:43.097 {main} DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.noKeySetOptimization: false 2020-09-08 10:10:43.097 {main} DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.selectorAutoRebuildThreshold: 512 2020-09-08 10:10:43.099 {main} DEBUG io.netty.util.internal.PlatformDependent - Platform: Windows 2020-09-08 10:10:43.101 {main} DEBUG io.netty.util.internal.PlatformDependent0 - -Dio.netty.noUnsafe: false 2020-09-08 10:10:43.101 {main} DEBUG io.netty.util.internal.PlatformDependent0 - Java version: 8 2020-09-08 10:10:43.103 {main} DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.theUnsafe: available 2020-09-08 10:10:43.103 {main} DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.copyMemory: available 2020-09-08 10:10:43.104 {main} DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Buffer.address: available 2020-09-08 10:10:43.104 {main} DEBUG io.netty.util.internal.PlatformDependent0 - direct buffer constructor: available 2020-09-08 10:10:43.105 {main} DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Bits.unaligned: available, true 2020-09-08 10:10:43.105 {main} DEBUG io.netty.util.internal.PlatformDependent0 - jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable prior to Java9 2020-09-08 10:10:43.105 {main} DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.DirectByteBuffer.<init>(long, int): available 2020-09-08 10:10:43.105 {main} DEBUG io.netty.util.internal.PlatformDependent - sun.misc.Unsafe: available 2020-09-08 10:10:43.106 {main} DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.tmpdir: C:\Users\ADMINI~1\AppData\Local\Temp (java.io.tmpdir) 2020-09-08 10:10:43.106 {main} DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.bitMode: 64 (sun.arch.data.model) 2020-09-08 10:10:43.107 {main} DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.maxDirectMemory: 3795845120 bytes 2020-09-08 10:10:43.107 {main} DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.uninitializedArrayAllocationThreshold: -1 2020-09-08 10:10:43.108 {main} DEBUG io.netty.util.internal.CleanerJava6 - java.nio.ByteBuffer.cleaner(): available 2020-09-08 10:10:43.108 {main} DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.noPreferDirect: false 2020-09-08 10:10:43.109 {main} DEBUG io.netty.util.internal.PlatformDependent - org.jctools-core.MpscChunkedArrayQueue: available 2020-09-08 10:10:43.186 {main} INFO com.drawnblue.netty.handler.TcpService - netty 服务器监听端口:8889 2020-09-08 10:10:43.191 {main} DEBUG io.netty.channel.DefaultChannelId - -Dio.netty.processId: 18736 (auto-detected) 2020-09-08 10:10:43.192 {main} DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv4Stack: false 2020-09-08 10:10:43.192 {main} DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv6Addresses: false 2020-09-08 10:10:43.433 {main} DEBUG io.netty.util.NetUtil - Loopback interface: lo (Software Loopback Interface 1, 127.0.0.1) 2020-09-08 10:10:43.433 {main} DEBUG io.netty.util.NetUtil - Failed to get SOMAXCONN from sysctl and file \proc\sys\net\core\somaxconn. Default: 200 2020-09-08 10:10:43.548 {main} DEBUG io.netty.channel.DefaultChannelId - -Dio.netty.machineId: e0:d5:5e:ff:fe:5f:86:6e (auto-detected) 2020-09-08 10:10:43.556 {main} DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.level: simple 2020-09-08 10:10:43.556 {main} DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.targetRecords: 4 2020-09-08 10:10:43.617 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.numHeapArenas: 8 2020-09-08 10:10:43.617 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.numDirectArenas: 8 2020-09-08 10:10:43.617 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.pageSize: 8192 2020-09-08 10:10:43.617 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxOrder: 11 2020-09-08 10:10:43.617 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.chunkSize: 16777216 2020-09-08 10:10:43.617 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.tinyCacheSize: 512 2020-09-08 10:10:43.617 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.smallCacheSize: 256 2020-09-08 10:10:43.617 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.normalCacheSize: 64 2020-09-08 10:10:43.617 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxCachedBufferCapacity: 32768 2020-09-08 10:10:43.617 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.cacheTrimInterval: 8192 2020-09-08 10:10:43.617 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.cacheTrimIntervalMillis: 0 2020-09-08 10:10:43.617 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.useCacheForAllThreads: true 2020-09-08 10:10:43.617 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxCachedByteBuffersPerChunk: 1023 2020-09-08 10:10:43.623 {main} DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.allocator.type: pooled 2020-09-08 10:10:43.623 {main} DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.threadLocalDirectBufferSize: 0 2020-09-08 10:10:43.623 {main} DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.maxThreadLocalCharBufferSize: 16384 /127.0.0.1:8800上线了 2020-09-08 10:10:52.166 {nioEventLoopGroup-3-1} DEBUG io.netty.util.Recycler - -Dio.netty.recycler.maxCapacityPerThread: 4096 2020-09-08 10:10:52.166 {nioEventLoopGroup-3-1} DEBUG io.netty.util.Recycler - -Dio.netty.recycler.maxSharedCapacityFactor: 2 2020-09-08 10:10:52.166 {nioEventLoopGroup-3-1} DEBUG io.netty.util.Recycler - -Dio.netty.recycler.linkCapacity: 16 2020-09-08 10:10:52.166 {nioEventLoopGroup-3-1} DEBUG io.netty.util.Recycler - -Dio.netty.recycler.ratio: 8 2020-09-08 10:10:52.166 {nioEventLoopGroup-3-1} DEBUG io.netty.util.Recycler - -Dio.netty.recycler.delayedQueue.ratio: 8 2020-09-08 10:10:52.171 {nioEventLoopGroup-3-1} DEBUG io.netty.buffer.AbstractByteBuf - -Dio.netty.buffer.checkAccessible: true 2020-09-08 10:10:52.171 {nioEventLoopGroup-3-1} DEBUG io.netty.buffer.AbstractByteBuf - -Dio.netty.buffer.checkBounds: true 2020-09-08 10:10:52.171 {nioEventLoopGroup-3-1} DEBUG io.netty.util.ResourceLeakDetectorFactory - Loaded default ResourceLeakDetector: io.netty.util.ResourceLeakDetector@4153e4dd 2020-09-08 10:10:52.177 {nioEventLoopGroup-3-1} INFO com.drawnblue.nettycommon.codec.MsgDecode - 解码 2020-09-08 10:10:52.182 {nioEventLoopGroup-3-1} INFO com.drawnblue.nettycommon.codec.MsgDecode - 解码结束!message=Message(head=Head(crcCode=1, length=76, sessionId=23, type=3, priority=1, attachment={dev=2534, name=张三}), body=Body(payload=welcom to shenzhen)) pipeline is equaltrue true HeartBeatRespHandler receive msg:Message(head=Head(crcCode=1, length=76, sessionId=23, type=3, priority=1, attachment={dev=2534, name=张三}), body=Body(payload=welcom to shenzhen)) Message(head=Head(crcCode=1, length=76, sessionId=23, type=3, priority=1, attachment={dev=2534, name=张三}), body=Body(payload=welcom to shenzhen)) /127.0.0.1:8800 /127.0.0.1:8800 true 2020-09-08 10:10:52.184 {nioEventLoopGroup-3-1} INFO com.drawnblue.netty.handler.MessageHandler - message 发送出去~~~~~~Message(head=Head(crcCode=1, length=76, sessionId=23, type=4, priority=1, attachment={dev=2534, name=张三}), body=Body(payload=welcom to shenzhen)) 2020-09-08 10:10:52.184 {nioEventLoopGroup-3-1} INFO com.drawnblue.nettycommon.codec.MsgEncode - 编码 msg=Message(head=Head(crcCode=1, length=76, sessionId=23, type=4, priority=1, attachment={dev=2534, name=张三}), body=Body(payload=welcom to shenzhen)) 2020-09-08 10:10:52.184 {nioEventLoopGroup-3-1} INFO com.drawnblue.nettycommon.codec.MsgEncode - 编码调用结束 2020-09-08 10:10:52.192 {nioEventLoopGroup-3-1} INFO com.drawnblue.nettycommon.codec.MsgDecode - 解码 2020-09-08 10:10:52.193 {nioEventLoopGroup-3-1} INFO com.drawnblue.nettycommon.codec.MsgDecode - 解码结束!message=Message(head=Head(crcCode=44015, length=18, sessionId=0, type=5, priority=1, attachment={}), body=Body(payload=null)) pipeline is equaltrue true HeartBeatRespHandler receive msg:Message(head=Head(crcCode=44015, length=18, sessionId=0, type=5, priority=1, attachment={}), body=Body(payload=null)) 2020-09-08 10:10:52.193 {nioEventLoopGroup-3-1} INFO com.drawnblue.nettycommon.codec.MsgEncode - 编码 msg=Message(head=Head(crcCode=44015, length=18, sessionId=0, type=6, priority=1, attachment=null), body=Body(payload=null)) 2020-09-08 10:10:52.193 {nioEventLoopGroup-3-1} INFO com.drawnblue.nettycommon.codec.MsgEncode - 编码调用结束
客户端
D:\topbandSoft\java\jdk1.8\bin\java.exe -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=62593 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:G:\soft\IDEA\IntelliJ IDEA 2018.2.5\lib\idea_rt.jar=62594:G:\soft\IDEA\IntelliJ IDEA 2018.2.5\bin" -Dfile.encoding=UTF-8 -classpath D:\topbandSoft\java\jdk1.8\jre\lib\charsets.jar;D:\topbandSoft\java\jdk1.8\jre\lib\deploy.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\access-bridge-64.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\cldrdata.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\dnsns.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\jaccess.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\jfxrt.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\localedata.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\nashorn.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\sunec.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\sunjce_provider.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\sunmscapi.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\sunpkcs11.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\zipfs.jar;D:\topbandSoft\java\jdk1.8\jre\lib\javaws.jar;D:\topbandSoft\java\jdk1.8\jre\lib\jce.jar;D:\topbandSoft\java\jdk1.8\jre\lib\jfr.jar;D:\topbandSoft\java\jdk1.8\jre\lib\jfxswt.jar;D:\topbandSoft\java\jdk1.8\jre\lib\jsse.jar;D:\topbandSoft\java\jdk1.8\jre\lib\management-agent.jar;D:\topbandSoft\java\jdk1.8\jre\lib\plugin.jar;D:\topbandSoft\java\jdk1.8\jre\lib\resources.jar;D:\topbandSoft\java\jdk1.8\jre\lib\rt.jar;G:\drawnblue\netty-component\nettyClient\target\classes;E:\localRepository\org\springframework\boot\spring-boot-starter\2.1.6.RELEASE\spring-boot-starter-2.1.6.RELEASE.jar;E:\localRepository\org\springframework\boot\spring-boot\2.1.6.RELEASE\spring-boot-2.1.6.RELEASE.jar;E:\localRepository\org\springframework\spring-context\5.1.8.RELEASE\spring-context-5.1.8.RELEASE.jar;E:\localRepository\org\springframework\boot\spring-boot-autoconfigure\2.1.6.RELEASE\spring-boot-autoconfigure-2.1.6.RELEASE.jar;E:\localRepository\org\springframework\boot\spring-boot-starter-logging\2.1.6.RELEASE\spring-boot-starter-logging-2.1.6.RELEASE.jar;E:\localRepository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;E:\localRepository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;E:\localRepository\org\apache\logging\log4j\log4j-to-slf4j\2.11.2\log4j-to-slf4j-2.11.2.jar;E:\localRepository\org\apache\logging\log4j\log4j-api\2.11.2\log4j-api-2.11.2.jar;E:\localRepository\org\slf4j\jul-to-slf4j\1.7.26\jul-to-slf4j-1.7.26.jar;E:\localRepository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;E:\localRepository\org\springframework\spring-core\5.1.8.RELEASE\spring-core-5.1.8.RELEASE.jar;E:\localRepository\org\springframework\spring-jcl\5.1.8.RELEASE\spring-jcl-5.1.8.RELEASE.jar;E:\localRepository\org\yaml\snakeyaml\1.23\snakeyaml-1.23.jar;E:\localRepository\org\springframework\boot\spring-boot-starter-web\2.1.6.RELEASE\spring-boot-starter-web-2.1.6.RELEASE.jar;E:\localRepository\org\springframework\boot\spring-boot-starter-json\2.1.6.RELEASE\spring-boot-starter-json-2.1.6.RELEASE.jar;E:\localRepository\com\fasterxml\jackson\core\jackson-databind\2.9.9\jackson-databind-2.9.9.jar;E:\localRepository\com\fasterxml\jackson\core\jackson-annotations\2.9.0\jackson-annotations-2.9.0.jar;E:\localRepository\com\fasterxml\jackson\core\jackson-core\2.9.9\jackson-core-2.9.9.jar;E:\localRepository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.9.9\jackson-datatype-jdk8-2.9.9.jar;E:\localRepository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.9.9\jackson-datatype-jsr310-2.9.9.jar;E:\localRepository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.9.9\jackson-module-parameter-names-2.9.9.jar;E:\localRepository\org\springframework\boot\spring-boot-starter-tomcat\2.1.6.RELEASE\spring-boot-starter-tomcat-2.1.6.RELEASE.jar;E:\localRepository\org\apache\tomcat\embed\tomcat-embed-core\9.0.21\tomcat-embed-core-9.0.21.jar;E:\localRepository\org\apache\tomcat\embed\tomcat-embed-el\9.0.21\tomcat-embed-el-9.0.21.jar;E:\localRepository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.21\tomcat-embed-websocket-9.0.21.jar;E:\localRepository\org\hibernate\validator\hibernate-validator\6.0.17.Final\hibernate-validator-6.0.17.Final.jar;E:\localRepository\javax\validation\validation-api\2.0.1.Final\validation-api-2.0.1.Final.jar;E:\localRepository\org\jboss\logging\jboss-logging\3.3.2.Final\jboss-logging-3.3.2.Final.jar;E:\localRepository\com\fasterxml\classmate\1.4.0\classmate-1.4.0.jar;E:\localRepository\org\springframework\spring-web\5.1.8.RELEASE\spring-web-5.1.8.RELEASE.jar;E:\localRepository\org\springframework\spring-beans\5.1.8.RELEASE\spring-beans-5.1.8.RELEASE.jar;E:\localRepository\org\springframework\spring-webmvc\5.1.8.RELEASE\spring-webmvc-5.1.8.RELEASE.jar;E:\localRepository\org\springframework\spring-aop\5.1.8.RELEASE\spring-aop-5.1.8.RELEASE.jar;E:\localRepository\org\springframework\spring-expression\5.1.8.RELEASE\spring-expression-5.1.8.RELEASE.jar;E:\localRepository\io\netty\netty-all\4.1.50.Final\netty-all-4.1.50.Final.jar;G:\drawnblue\netty-component\netty-common\target\classes;E:\localRepository\cn\hutool\hutool-all\5.0.5\hutool-all-5.0.5.jar;E:\localRepository\mysql\mysql-connector-java\8.0.16\mysql-connector-java-8.0.16.jar;E:\localRepository\org\slf4j\slf4j-api\1.7.26\slf4j-api-1.7.26.jar com.drawnblue.netty.ClientApplication 10:10:50,292 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Will scan for changes in [file:/G:/drawnblue/netty-component/nettyClient/target/classes/conf/logback.xml] 10:10:50,293 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Setting ReconfigureOnChangeTask scanning period to 1 minutes 10:10:50,296 |-WARN in Logger[org.springframework.core.env.PropertySourcesPropertyResolver] - No appenders present in context [default] for logger [org.springframework.core.env.PropertySourcesPropertyResolver]. 10:10:50,297 |-INFO in ch.qos.logback.classic.joran.action.ContextNameAction - Setting logger context name as [elk] 10:10:50,297 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender] 10:10:50,298 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT] 10:10:50,315 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.apache.ibatis] to TRACE 10:10:50,315 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@7a4ccb53 - Propagating TRACE level on Logger[com.apache.ibatis] onto the JUL framework 10:10:50,315 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [java.sql.Connection] to DEBUG 10:10:50,315 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@7a4ccb53 - Propagating DEBUG level on Logger[java.sql.Connection] onto the JUL framework 10:10:50,315 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [java.sql.Statement] to DEBUG 10:10:50,315 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@7a4ccb53 - Propagating DEBUG level on Logger[java.sql.Statement] onto the JUL framework 10:10:50,315 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [java.sql.PreparedStatement] to DEBUG 10:10:50,315 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@7a4ccb53 - Propagating DEBUG level on Logger[java.sql.PreparedStatement] onto the JUL framework 10:10:50,316 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to DEBUG 10:10:50,316 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT] 10:10:50,316 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration. 10:10:50,316 |-INFO in org.springframework.boot.logging.logback.SpringBootJoranConfigurator@4df50bcc - Registering current configuration as safe fallback point 2020-09-08 10:10:50.322 {main} DEBUG o.s.b.c.l.ClasspathLoggingApplicationListener - Application started with classpath: [file:/D:/topbandSoft/java/jdk1.8/jre/lib/charsets.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/deploy.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/access-bridge-64.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/cldrdata.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/dnsns.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/jaccess.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/jfxrt.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/localedata.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/nashorn.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/sunec.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/sunjce_provider.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/sunmscapi.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/sunpkcs11.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/ext/zipfs.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/javaws.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/jce.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/jfr.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/jfxswt.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/jsse.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/management-agent.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/plugin.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/resources.jar, file:/D:/topbandSoft/java/jdk1.8/jre/lib/rt.jar, file:/G:/drawnblue/netty-component/nettyClient/target/classes/, file:/E:/localRepository/org/springframework/boot/spring-boot-starter/2.1.6.RELEASE/spring-boot-starter-2.1.6.RELEASE.jar, file:/E:/localRepository/org/springframework/boot/spring-boot/2.1.6.RELEASE/spring-boot-2.1.6.RELEASE.jar, file:/E:/localRepository/org/springframework/spring-context/5.1.8.RELEASE/spring-context-5.1.8.RELEASE.jar, file:/E:/localRepository/org/springframework/boot/spring-boot-autoconfigure/2.1.6.RELEASE/spring-boot-autoconfigure-2.1.6.RELEASE.jar, file:/E:/localRepository/org/springframework/boot/spring-boot-starter-logging/2.1.6.RELEASE/spring-boot-starter-logging-2.1.6.RELEASE.jar, file:/E:/localRepository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar, file:/E:/localRepository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar, file:/E:/localRepository/org/apache/logging/log4j/log4j-to-slf4j/2.11.2/log4j-to-slf4j-2.11.2.jar, file:/E:/localRepository/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2.jar, file:/E:/localRepository/org/slf4j/jul-to-slf4j/1.7.26/jul-to-slf4j-1.7.26.jar, file:/E:/localRepository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar, file:/E:/localRepository/org/springframework/spring-core/5.1.8.RELEASE/spring-core-5.1.8.RELEASE.jar, file:/E:/localRepository/org/springframework/spring-jcl/5.1.8.RELEASE/spring-jcl-5.1.8.RELEASE.jar, file:/E:/localRepository/org/yaml/snakeyaml/1.23/snakeyaml-1.23.jar, file:/E:/localRepository/org/springframework/boot/spring-boot-starter-web/2.1.6.RELEASE/spring-boot-starter-web-2.1.6.RELEASE.jar, file:/E:/localRepository/org/springframework/boot/spring-boot-starter-json/2.1.6.RELEASE/spring-boot-starter-json-2.1.6.RELEASE.jar, file:/E:/localRepository/com/fasterxml/jackson/core/jackson-databind/2.9.9/jackson-databind-2.9.9.jar, file:/E:/localRepository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar, file:/E:/localRepository/com/fasterxml/jackson/core/jackson-core/2.9.9/jackson-core-2.9.9.jar, file:/E:/localRepository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.9/jackson-datatype-jdk8-2.9.9.jar, file:/E:/localRepository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.9/jackson-datatype-jsr310-2.9.9.jar, file:/E:/localRepository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.9/jackson-module-parameter-names-2.9.9.jar, file:/E:/localRepository/org/springframework/boot/spring-boot-starter-tomcat/2.1.6.RELEASE/spring-boot-starter-tomcat-2.1.6.RELEASE.jar, file:/E:/localRepository/org/apache/tomcat/embed/tomcat-embed-core/9.0.21/tomcat-embed-core-9.0.21.jar, file:/E:/localRepository/org/apache/tomcat/embed/tomcat-embed-el/9.0.21/tomcat-embed-el-9.0.21.jar, file:/E:/localRepository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.21/tomcat-embed-websocket-9.0.21.jar, file:/E:/localRepository/org/hibernate/validator/hibernate-validator/6.0.17.Final/hibernate-validator-6.0.17.Final.jar, file:/E:/localRepository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar, file:/E:/localRepository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar, file:/E:/localRepository/com/fasterxml/classmate/1.4.0/classmate-1.4.0.jar, file:/E:/localRepository/org/springframework/spring-web/5.1.8.RELEASE/spring-web-5.1.8.RELEASE.jar, file:/E:/localRepository/org/springframework/spring-beans/5.1.8.RELEASE/spring-beans-5.1.8.RELEASE.jar, file:/E:/localRepository/org/springframework/spring-webmvc/5.1.8.RELEASE/spring-webmvc-5.1.8.RELEASE.jar, file:/E:/localRepository/org/springframework/spring-aop/5.1.8.RELEASE/spring-aop-5.1.8.RELEASE.jar, file:/E:/localRepository/org/springframework/spring-expression/5.1.8.RELEASE/spring-expression-5.1.8.RELEASE.jar, file:/E:/localRepository/io/netty/netty-all/4.1.50.Final/netty-all-4.1.50.Final.jar, file:/G:/drawnblue/netty-component/netty-common/target/classes/, file:/E:/localRepository/cn/hutool/hutool-all/5.0.5/hutool-all-5.0.5.jar, file:/E:/localRepository/mysql/mysql-connector-java/8.0.16/mysql-connector-java-8.0.16.jar, file:/E:/localRepository/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26.jar, file:/G:/soft/IDEA/IntelliJ%20IDEA%202018.2.5/lib/idea_rt.jar] . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.1.6.RELEASE) 2020-09-08 10:10:50.434 {main} INFO com.drawnblue.netty.ClientApplication - Starting ClientApplication on LICY with PID 19160 (G:\drawnblue\netty-component\nettyClient\target\classes started by Administrator in G:\drawnblue\netty-component) 2020-09-08 10:10:50.435 {main} DEBUG com.drawnblue.netty.ClientApplication - Running with Spring Boot v2.1.6.RELEASE, Spring v5.1.8.RELEASE 2020-09-08 10:10:50.435 {main} INFO com.drawnblue.netty.ClientApplication - No active profile set, falling back to default profiles: default 2020-09-08 10:10:50.435 {main} DEBUG org.springframework.boot.SpringApplication - Loading source class com.drawnblue.netty.ClientApplication 2020-09-08 10:10:50.611 {main} DEBUG o.s.b.context.config.ConfigFileApplicationListener - Loaded config file 'file:/G:/drawnblue/netty-component/nettyClient/target/classes/application.properties' (classpath:/application.properties) 2020-09-08 10:10:50.612 {main} DEBUG o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@10e92f8f 2020-09-08 10:10:50.626 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor' 2020-09-08 10:10:50.637 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.internalCachingMetadataReaderFactory' 2020-09-08 10:10:50.698 {main} DEBUG o.s.c.annotation.ClassPathBeanDefinitionScanner - Identified candidate component class: file [G:\drawnblue\netty-component\nettyClient\target\classes\com\drawnblue\netty\client\TCPClient.class] 2020-09-08 10:10:50.828 {main} DEBUG o.s.core.env.PropertySourcesPropertyResolver - Found key 'spring.application.admin.enabled' in PropertySource 'configurationProperties' with value of type String 2020-09-08 10:10:50.872 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.condition.BeanTypeRegistry' 2020-09-08 10:10:50.945 {main} DEBUG o.s.core.env.PropertySourcesPropertyResolver - Found key 'spring.application.admin.enabled' in PropertySource 'configurationProperties' with value of type String 2020-09-08 10:10:51.051 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'propertySourcesPlaceholderConfigurer' 2020-09-08 10:10:51.056 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.event.internalEventListenerProcessor' 2020-09-08 10:10:51.056 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.context.properties.ConfigurationBeanFactoryMetadata' 2020-09-08 10:10:51.057 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'preserveErrorControllerTargetClassPostProcessor' 2020-09-08 10:10:51.058 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.event.internalEventListenerFactory' 2020-09-08 10:10:51.061 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.annotation.internalAutowiredAnnotationProcessor' 2020-09-08 10:10:51.062 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.annotation.internalCommonAnnotationProcessor' 2020-09-08 10:10:51.063 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor' 2020-09-08 10:10:51.065 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'methodValidationPostProcessor' 2020-09-08 10:10:51.075 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'methodValidationPostProcessor' via factory method to bean named 'environment' 2020-09-08 10:10:51.082 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'webServerFactoryCustomizerBeanPostProcessor' 2020-09-08 10:10:51.083 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'errorPageRegistrarBeanPostProcessor' 2020-09-08 10:10:51.086 {main} DEBUG o.s.ui.context.support.UiApplicationContextUtils - Unable to locate ThemeSource with name 'themeSource': using default [org.springframework.ui.context.support.ResourceBundleThemeSource@293a5f75] 2020-09-08 10:10:51.086 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'tomcatServletWebServerFactory' 2020-09-08 10:10:51.086 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryConfiguration$EmbeddedTomcat' 2020-09-08 10:10:51.112 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'websocketServletWebServerCustomizer' 2020-09-08 10:10:51.112 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration$TomcatWebSocketConfiguration' 2020-09-08 10:10:51.114 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'servletWebServerFactoryCustomizer' 2020-09-08 10:10:51.115 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration' 2020-09-08 10:10:51.117 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'server-org.springframework.boot.autoconfigure.web.ServerProperties' 2020-09-08 10:10:51.133 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'servletWebServerFactoryCustomizer' via factory method to bean named 'server-org.springframework.boot.autoconfigure.web.ServerProperties' 2020-09-08 10:10:51.135 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'tomcatServletWebServerFactoryCustomizer' 2020-09-08 10:10:51.136 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'tomcatServletWebServerFactoryCustomizer' via factory method to bean named 'server-org.springframework.boot.autoconfigure.web.ServerProperties' 2020-09-08 10:10:51.136 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'tomcatWebServerFactoryCustomizer' 2020-09-08 10:10:51.137 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration$TomcatWebServerFactoryCustomizerConfiguration' 2020-09-08 10:10:51.138 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'tomcatWebServerFactoryCustomizer' via factory method to bean named 'environment' 2020-09-08 10:10:51.139 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'tomcatWebServerFactoryCustomizer' via factory method to bean named 'server-org.springframework.boot.autoconfigure.web.ServerProperties' 2020-09-08 10:10:51.141 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'localeCharsetMappingsCustomizer' 2020-09-08 10:10:51.141 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration' 2020-09-08 10:10:51.141 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration$$EnhancerBySpringCGLIB$$63ebfa59] - unable to determine constructor/method parameter names 2020-09-08 10:10:51.142 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'spring.http-org.springframework.boot.autoconfigure.http.HttpProperties' 2020-09-08 10:10:51.143 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration' via constructor to bean named 'spring.http-org.springframework.boot.autoconfigure.http.HttpProperties' 2020-09-08 10:10:51.164 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'errorPageCustomizer' 2020-09-08 10:10:51.165 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration' 2020-09-08 10:10:51.165 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration$$EnhancerBySpringCGLIB$$bc43493c] - unable to determine constructor/method parameter names 2020-09-08 10:10:51.166 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'dispatcherServletRegistration' 2020-09-08 10:10:51.166 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration$DispatcherServletRegistrationConfiguration' 2020-09-08 10:10:51.167 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration$DispatcherServletRegistrationConfiguration$$EnhancerBySpringCGLIB$$429e6827] - unable to determine constructor/method parameter names 2020-09-08 10:10:51.168 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'spring.mvc-org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties' 2020-09-08 10:10:51.170 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration$DispatcherServletRegistrationConfiguration' via constructor to bean named 'spring.mvc-org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties' 2020-09-08 10:10:51.171 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'multipartConfigElement' 2020-09-08 10:10:51.171 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration' 2020-09-08 10:10:51.171 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration$$EnhancerBySpringCGLIB$$d2dc8266] - unable to determine constructor/method parameter names 2020-09-08 10:10:51.172 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'spring.servlet.multipart-org.springframework.boot.autoconfigure.web.servlet.MultipartProperties' 2020-09-08 10:10:51.176 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration' via constructor to bean named 'spring.servlet.multipart-org.springframework.boot.autoconfigure.web.servlet.MultipartProperties' 2020-09-08 10:10:51.181 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'dispatcherServlet' 2020-09-08 10:10:51.181 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration$DispatcherServletConfiguration' 2020-09-08 10:10:51.182 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration$DispatcherServletConfiguration$$EnhancerBySpringCGLIB$$e096d380] - unable to determine constructor/method parameter names 2020-09-08 10:10:51.182 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration$DispatcherServletConfiguration' via constructor to bean named 'spring.http-org.springframework.boot.autoconfigure.http.HttpProperties' 2020-09-08 10:10:51.188 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration$DispatcherServletConfiguration' via constructor to bean named 'spring.mvc-org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties' 2020-09-08 10:10:51.203 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'dispatcherServletRegistration' via factory method to bean named 'dispatcherServlet' 2020-09-08 10:10:51.207 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration' via constructor to bean named 'server-org.springframework.boot.autoconfigure.web.ServerProperties' 2020-09-08 10:10:51.207 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration' via constructor to bean named 'dispatcherServletRegistration' 2020-09-08 10:10:51.208 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'conventionErrorViewResolver' 2020-09-08 10:10:51.208 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration$DefaultErrorViewResolverConfiguration' 2020-09-08 10:10:51.208 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration$DefaultErrorViewResolverConfiguration$$EnhancerBySpringCGLIB$$d0d81ddc] - unable to determine constructor/method parameter names 2020-09-08 10:10:51.209 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'spring.resources-org.springframework.boot.autoconfigure.web.ResourceProperties' 2020-09-08 10:10:51.211 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration$DefaultErrorViewResolverConfiguration' via constructor to bean named 'org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@10e92f8f' 2020-09-08 10:10:51.211 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration$DefaultErrorViewResolverConfiguration' via constructor to bean named 'spring.resources-org.springframework.boot.autoconfigure.web.ResourceProperties' 2020-09-08 10:10:51.290 {main} DEBUG o.s.b.w.e.tomcat.TomcatServletWebServerFactory - Code archive: E:\localRepository\org\springframework\boot\spring-boot\2.1.6.RELEASE\spring-boot-2.1.6.RELEASE.jar 2020-09-08 10:10:51.290 {main} DEBUG o.s.b.w.e.tomcat.TomcatServletWebServerFactory - Code archive: E:\localRepository\org\springframework\boot\spring-boot\2.1.6.RELEASE\spring-boot-2.1.6.RELEASE.jar 2020-09-08 10:10:51.291 {main} DEBUG o.s.b.w.e.tomcat.TomcatServletWebServerFactory - None of the document roots [src/main/webapp, public, static] point to a directory and will be ignored. 2020-09-08 10:10:51.315 {main} INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8003 (http) 2020-09-08 10:10:51.327 {main} INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8003"] 2020-09-08 10:10:51.335 {main} INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] 2020-09-08 10:10:51.335 {main} INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.21] 2020-09-08 10:10:51.429 {main} INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2020-09-08 10:10:51.429 {main} DEBUG org.springframework.web.context.ContextLoader - Published root WebApplicationContext as ServletContext attribute with name [org.springframework.web.context.WebApplicationContext.ROOT] 2020-09-08 10:10:51.429 {main} INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 817 ms 2020-09-08 10:10:51.433 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'requestContextFilter' 2020-09-08 10:10:51.435 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'hiddenHttpMethodFilter' 2020-09-08 10:10:51.435 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration' 2020-09-08 10:10:51.439 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'formContentFilter' 2020-09-08 10:10:51.442 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'characterEncodingFilter' 2020-09-08 10:10:51.449 {main} DEBUG o.s.b.web.servlet.ServletContextInitializerBeans - Mapping filters: characterEncodingFilter urls=[/*], hiddenHttpMethodFilter urls=[/*], formContentFilter urls=[/*], requestContextFilter urls=[/*] 2020-09-08 10:10:51.449 {main} DEBUG o.s.b.web.servlet.ServletContextInitializerBeans - Mapping servlets: dispatcherServlet urls=[/] 2020-09-08 10:10:51.464 {main} DEBUG o.s.b.w.servlet.filter.OrderedRequestContextFilter - Filter 'requestContextFilter' configured for use 2020-09-08 10:10:51.465 {main} DEBUG o.s.b.w.s.filter.OrderedHiddenHttpMethodFilter - Filter 'hiddenHttpMethodFilter' configured for use 2020-09-08 10:10:51.465 {main} DEBUG o.s.b.w.s.filter.OrderedCharacterEncodingFilter - Filter 'characterEncodingFilter' configured for use 2020-09-08 10:10:51.465 {main} DEBUG o.s.b.web.servlet.filter.OrderedFormContentFilter - Filter 'formContentFilter' configured for use 2020-09-08 10:10:51.471 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'clientApplication' 2020-09-08 10:10:51.472 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'TCPClient' 2020-09-08 10:10:51.475 {main} DEBUG o.s.core.env.PropertySourcesPropertyResolver - Found key 'netty.host' in PropertySource 'configurationProperties' with value of type String 2020-09-08 10:10:51.475 {main} DEBUG o.s.core.env.PropertySourcesPropertyResolver - Found key 'netty.host' in PropertySource 'environmentProperties' with value of type String 2020-09-08 10:10:51.476 {main} DEBUG o.s.core.env.PropertySourcesPropertyResolver - Found key 'netty.port' in PropertySource 'configurationProperties' with value of type String 2020-09-08 10:10:51.476 {main} DEBUG o.s.core.env.PropertySourcesPropertyResolver - Found key 'netty.port' in PropertySource 'environmentProperties' with value of type String 2020-09-08 10:10:51.477 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.AutoConfigurationPackages' 2020-09-08 10:10:51.479 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration' 2020-09-08 10:10:51.480 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration' 2020-09-08 10:10:51.480 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration' 2020-09-08 10:10:51.480 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration' 2020-09-08 10:10:51.480 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration$$EnhancerBySpringCGLIB$$1c36dc8d] - unable to determine constructor/method parameter names 2020-09-08 10:10:51.481 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'spring.task.execution-org.springframework.boot.autoconfigure.task.TaskExecutionProperties' 2020-09-08 10:10:51.482 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration' via constructor to bean named 'spring.task.execution-org.springframework.boot.autoconfigure.task.TaskExecutionProperties' 2020-09-08 10:10:51.483 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'taskExecutorBuilder' 2020-09-08 10:10:51.487 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration' 2020-09-08 10:10:51.487 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'defaultValidator' 2020-09-08 10:10:51.489 {main} DEBUG o.h.v.i.engine.resolver.TraversableResolvers - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable. 2020-09-08 10:10:51.490 {main} DEBUG o.h.v.m.ResourceBundleMessageInterpolator - Loaded expression factory via original TCCL 2020-09-08 10:10:51.493 {main} DEBUG o.h.v.i.engine.resolver.TraversableResolvers - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable. 2020-09-08 10:10:51.494 {main} DEBUG o.h.validator.internal.engine.ConfigurationImpl - Setting custom MessageInterpolator of type org.springframework.validation.beanvalidation.LocaleContextMessageInterpolator 2020-09-08 10:10:51.494 {main} DEBUG o.h.validator.internal.engine.ConfigurationImpl - Setting custom ConstraintValidatorFactory of type org.springframework.validation.beanvalidation.SpringConstraintValidatorFactory 2020-09-08 10:10:51.495 {main} DEBUG o.h.validator.internal.engine.ConfigurationImpl - Setting custom ParameterNameProvider of type org.springframework.validation.beanvalidation.LocalValidatorFactoryBean$1 2020-09-08 10:10:51.495 {main} DEBUG o.h.v.internal.xml.config.ValidationXmlParser - Trying to load META-INF/validation.xml for XML based Validator configuration. 2020-09-08 10:10:51.495 {main} DEBUG o.h.v.internal.xml.config.ResourceLoaderHelper - Trying to load META-INF/validation.xml via user class loader 2020-09-08 10:10:51.496 {main} DEBUG o.h.v.internal.xml.config.ResourceLoaderHelper - Trying to load META-INF/validation.xml via TCCL 2020-09-08 10:10:51.496 {main} DEBUG o.h.v.internal.xml.config.ResourceLoaderHelper - Trying to load META-INF/validation.xml via Hibernate Validator's class loader 2020-09-08 10:10:51.496 {main} DEBUG o.h.v.internal.xml.config.ValidationXmlParser - No META-INF/validation.xml found. Using annotation based configuration only. 2020-09-08 10:10:51.500 {main} DEBUG o.h.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.springframework.validation.beanvalidation.LocaleContextMessageInterpolator as ValidatorFactory-scoped message interpolator. 2020-09-08 10:10:51.500 {main} DEBUG o.h.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.internal.engine.resolver.TraverseAllTraversableResolver as ValidatorFactory-scoped traversable resolver. 2020-09-08 10:10:51.500 {main} DEBUG o.h.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider. 2020-09-08 10:10:51.500 {main} DEBUG o.h.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider. 2020-09-08 10:10:51.500 {main} DEBUG o.h.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory. 2020-09-08 10:10:51.501 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration$WhitelabelErrorViewConfiguration' 2020-09-08 10:10:51.502 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'error' 2020-09-08 10:10:51.504 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'beanNameViewResolver' 2020-09-08 10:10:51.506 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'errorAttributes' 2020-09-08 10:10:51.507 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'basicErrorController' 2020-09-08 10:10:51.507 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'basicErrorController' via factory method to bean named 'errorAttributes' 2020-09-08 10:10:51.512 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter$FaviconConfiguration' 2020-09-08 10:10:51.512 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter$FaviconConfiguration$$EnhancerBySpringCGLIB$$59c56762] - unable to determine constructor/method parameter names 2020-09-08 10:10:51.513 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter$FaviconConfiguration' via constructor to bean named 'spring.resources-org.springframework.boot.autoconfigure.web.ResourceProperties' 2020-09-08 10:10:51.513 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'faviconHandlerMapping' 2020-09-08 10:10:51.516 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'faviconRequestHandler' 2020-09-08 10:10:51.525 {main} DEBUG o.s.web.servlet.handler.SimpleUrlHandlerMapping - Patterns [/**/favicon.ico] in 'faviconHandlerMapping' 2020-09-08 10:10:51.525 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration$EnableWebMvcConfiguration' 2020-09-08 10:10:51.526 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration$EnableWebMvcConfiguration$$EnhancerBySpringCGLIB$$fb849437] - unable to determine constructor/method parameter names 2020-09-08 10:10:51.527 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration$EnableWebMvcConfiguration' via constructor to bean named 'org.springframework.beans.factory.support.DefaultListableBeanFactory@7b02881e' 2020-09-08 10:10:51.536 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter' 2020-09-08 10:10:51.536 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter$$EnhancerBySpringCGLIB$$9d885f1c] - unable to determine constructor/method parameter names 2020-09-08 10:10:51.537 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter' via constructor to bean named 'spring.resources-org.springframework.boot.autoconfigure.web.ResourceProperties' 2020-09-08 10:10:51.537 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter' via constructor to bean named 'spring.mvc-org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties' 2020-09-08 10:10:51.537 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter' via constructor to bean named 'org.springframework.beans.factory.support.DefaultListableBeanFactory@7b02881e' 2020-09-08 10:10:51.540 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'requestMappingHandlerAdapter' 2020-09-08 10:10:51.549 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'mvcContentNegotiationManager' 2020-09-08 10:10:51.552 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'messageConverters' 2020-09-08 10:10:51.552 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration' 2020-09-08 10:10:51.553 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration$$EnhancerBySpringCGLIB$$aacb0f4b] - unable to determine constructor/method parameter names 2020-09-08 10:10:51.555 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'stringHttpMessageConverter' 2020-09-08 10:10:51.555 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration$StringHttpMessageConverterConfiguration' 2020-09-08 10:10:51.555 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration$StringHttpMessageConverterConfiguration$$EnhancerBySpringCGLIB$$ddd8d5eb] - unable to determine constructor/method parameter names 2020-09-08 10:10:51.556 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration$StringHttpMessageConverterConfiguration' via constructor to bean named 'spring.http-org.springframework.boot.autoconfigure.http.HttpProperties' 2020-09-08 10:10:51.563 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'mappingJackson2HttpMessageConverter' 2020-09-08 10:10:51.563 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.http.JacksonHttpMessageConvertersConfiguration$MappingJackson2HttpMessageConverterConfiguration' 2020-09-08 10:10:51.564 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'jacksonObjectMapper' 2020-09-08 10:10:51.565 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$JacksonObjectMapperConfiguration' 2020-09-08 10:10:51.565 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'jacksonObjectMapperBuilder' 2020-09-08 10:10:51.566 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$JacksonObjectMapperBuilderConfiguration' 2020-09-08 10:10:51.566 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$JacksonObjectMapperBuilderConfiguration$$EnhancerBySpringCGLIB$$9e778561] - unable to determine constructor/method parameter names 2020-09-08 10:10:51.566 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$JacksonObjectMapperBuilderConfiguration' via constructor to bean named 'org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@10e92f8f' 2020-09-08 10:10:51.567 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'standardJacksonObjectMapperBuilderCustomizer' 2020-09-08 10:10:51.567 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$Jackson2ObjectMapperBuilderCustomizerConfiguration' 2020-09-08 10:10:51.568 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'spring.jackson-org.springframework.boot.autoconfigure.jackson.JacksonProperties' 2020-09-08 10:10:51.568 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'standardJacksonObjectMapperBuilderCustomizer' via factory method to bean named 'org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@10e92f8f' 2020-09-08 10:10:51.568 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'standardJacksonObjectMapperBuilderCustomizer' via factory method to bean named 'spring.jackson-org.springframework.boot.autoconfigure.jackson.JacksonProperties' 2020-09-08 10:10:51.570 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'jacksonObjectMapperBuilder' via factory method to bean named 'standardJacksonObjectMapperBuilderCustomizer' 2020-09-08 10:10:51.573 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'parameterNamesModule' 2020-09-08 10:10:51.573 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$ParameterNamesModuleConfiguration' 2020-09-08 10:10:51.577 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'jsonComponentModule' 2020-09-08 10:10:51.577 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration' 2020-09-08 10:10:51.584 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'jacksonObjectMapper' via factory method to bean named 'jacksonObjectMapperBuilder' 2020-09-08 10:10:51.603 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'mappingJackson2HttpMessageConverter' via factory method to bean named 'jacksonObjectMapper' 2020-09-08 10:10:51.611 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'mvcConversionService' 2020-09-08 10:10:51.615 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'mvcValidator' 2020-09-08 10:10:51.620 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'applicationTaskExecutor' 2020-09-08 10:10:51.620 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'applicationTaskExecutor' via factory method to bean named 'taskExecutorBuilder' 2020-09-08 10:10:51.624 {main} INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor' 2020-09-08 10:10:51.632 {main} DEBUG o.s.w.s.m.m.a.RequestMappingHandlerAdapter - ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice 2020-09-08 10:10:51.648 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'requestMappingHandlerMapping' 2020-09-08 10:10:51.652 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'mvcResourceUrlProvider' 2020-09-08 10:10:51.696 {main} DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping - 2 mappings in 'requestMappingHandlerMapping' 2020-09-08 10:10:51.697 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'mvcPathMatcher' 2020-09-08 10:10:51.697 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'mvcUrlPathHelper' 2020-09-08 10:10:51.698 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'viewControllerHandlerMapping' 2020-09-08 10:10:51.698 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'beanNameHandlerMapping' 2020-09-08 10:10:51.700 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'resourceHandlerMapping' 2020-09-08 10:10:51.704 {main} DEBUG o.s.web.servlet.handler.SimpleUrlHandlerMapping - Patterns [/webjars/**, /**] in 'resourceHandlerMapping' 2020-09-08 10:10:51.704 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'defaultServletHandlerMapping' 2020-09-08 10:10:51.705 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'mvcUriComponentsContributor' 2020-09-08 10:10:51.707 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'httpRequestHandlerAdapter' 2020-09-08 10:10:51.708 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'simpleControllerHandlerAdapter' 2020-09-08 10:10:51.709 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'handlerExceptionResolver' 2020-09-08 10:10:51.712 {main} DEBUG o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice 2020-09-08 10:10:51.714 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'mvcViewResolver' 2020-09-08 10:10:51.715 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'defaultViewResolver' 2020-09-08 10:10:51.720 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'viewResolver' 2020-09-08 10:10:51.720 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'viewResolver' via factory method to bean named 'org.springframework.beans.factory.support.DefaultListableBeanFactory@7b02881e' 2020-09-08 10:10:51.722 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'welcomePageHandlerMapping' 2020-09-08 10:10:51.722 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'welcomePageHandlerMapping' via factory method to bean named 'org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@10e92f8f' 2020-09-08 10:10:51.727 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration' 2020-09-08 10:10:51.729 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'mbeanExporter' 2020-09-08 10:10:51.729 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'objectNamingStrategy' 2020-09-08 10:10:51.731 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'mbeanExporter' via factory method to bean named 'objectNamingStrategy' 2020-09-08 10:10:51.734 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'mbeanServer' 2020-09-08 10:10:51.736 {main} DEBUG org.springframework.jmx.support.JmxUtils - Found MBeanServer: com.sun.jmx.mbeanserver.JmxMBeanServer@7ba4f24f 2020-09-08 10:10:51.740 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration' 2020-09-08 10:10:51.740 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration$$EnhancerBySpringCGLIB$$2343e485] - unable to determine constructor/method parameter names 2020-09-08 10:10:51.741 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration' via constructor to bean named 'environment' 2020-09-08 10:10:51.741 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'springApplicationAdminRegistrar' 2020-09-08 10:10:51.744 {main} DEBUG o.s.b.a.SpringApplicationAdminMXBeanRegistrar$SpringApplicationAdmin - Application Admin MBean registered with name 'org.springframework.boot:type=Admin,name=SpringApplication' 2020-09-08 10:10:51.744 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration' 2020-09-08 10:10:51.745 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.http.JacksonHttpMessageConvertersConfiguration' 2020-09-08 10:10:51.745 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration$LoggingCodecConfiguration' 2020-09-08 10:10:51.745 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'loggingCodecCustomizer' 2020-09-08 10:10:51.745 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'loggingCodecCustomizer' via factory method to bean named 'spring.http-org.springframework.boot.autoconfigure.http.HttpProperties' 2020-09-08 10:10:51.747 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration$JacksonCodecConfiguration' 2020-09-08 10:10:51.748 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'jacksonCodecCustomizer' 2020-09-08 10:10:51.748 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'jacksonCodecCustomizer' via factory method to bean named 'jacksonObjectMapper' 2020-09-08 10:10:51.749 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration' 2020-09-08 10:10:51.750 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration' 2020-09-08 10:10:51.750 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration$$EnhancerBySpringCGLIB$$cc9150d0] - unable to determine constructor/method parameter names 2020-09-08 10:10:51.750 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'spring.info-org.springframework.boot.autoconfigure.info.ProjectInfoProperties' 2020-09-08 10:10:51.751 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration' via constructor to bean named 'spring.info-org.springframework.boot.autoconfigure.info.ProjectInfoProperties' 2020-09-08 10:10:51.751 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'buildProperties' 2020-09-08 10:10:51.757 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration' 2020-09-08 10:10:51.758 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'taskSchedulerBuilder' 2020-09-08 10:10:51.759 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'spring.task.scheduling-org.springframework.boot.autoconfigure.task.TaskSchedulingProperties' 2020-09-08 10:10:51.760 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Autowiring by type from bean name 'taskSchedulerBuilder' via factory method to bean named 'spring.task.scheduling-org.springframework.boot.autoconfigure.task.TaskSchedulingProperties' 2020-09-08 10:10:51.762 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration' 2020-09-08 10:10:51.763 {main} DEBUG o.s.core.LocalVariableTableParameterNameDiscoverer - Cannot find '.class' file for class [class org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration$$EnhancerBySpringCGLIB$$2bad3d38] - unable to determine constructor/method parameter names 2020-09-08 10:10:51.763 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'restTemplateBuilder' 2020-09-08 10:10:51.768 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration' 2020-09-08 10:10:51.768 {main} DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'multipartResolver' 2020-09-08 10:10:51.780 {main} DEBUG o.s.jmx.export.annotation.AnnotationMBeanExporter - Registering beans for JMX exposure on startup 2020-09-08 10:10:51.780 {main} DEBUG o.s.jmx.export.annotation.AnnotationMBeanExporter - Autodetecting user-defined JMX MBeans 2020-09-08 10:10:51.800 {main} DEBUG o.s.b.a.l.ConditionEvaluationReportLoggingListener - ============================ CONDITIONS EVALUATION REPORT ============================ Positive matches: ----------------- CodecsAutoConfiguration matched: - @ConditionalOnClass found required class 'org.springframework.http.codec.CodecConfigurer' (OnClassCondition) CodecsAutoConfiguration.JacksonCodecConfiguration matched: - @ConditionalOnClass found required class 'com.fasterxml.jackson.databind.ObjectMapper' (OnClassCondition) CodecsAutoConfiguration.JacksonCodecConfiguration#jacksonCodecCustomizer matched: - @ConditionalOnBean (types: com.fasterxml.jackson.databind.ObjectMapper; SearchStrategy: all) found bean 'jacksonObjectMapper' (OnBeanCondition) DispatcherServletAutoConfiguration matched: - @ConditionalOnClass found required class 'org.springframework.web.servlet.DispatcherServlet' (OnClassCondition) - found 'session' scope (OnWebApplicationCondition) DispatcherServletAutoConfiguration.DispatcherServletConfiguration matched: - @ConditionalOnClass found required class 'javax.servlet.ServletRegistration' (OnClassCondition) - Default DispatcherServlet did not find dispatcher servlet beans (DispatcherServletAutoConfiguration.DefaultDispatcherServletCondition) DispatcherServletAutoConfiguration.DispatcherServletRegistrationConfiguration matched: - @ConditionalOnClass found required class 'javax.servlet.ServletRegistration' (OnClassCondition) - DispatcherServlet Registration did not find servlet registration bean (DispatcherServletAutoConfiguration.DispatcherServletRegistrationCondition) DispatcherServletAutoConfiguration.DispatcherServletRegistrationConfiguration#dispatcherServletRegistration matched: - @ConditionalOnBean (names: dispatcherServlet; types: org.springframework.web.servlet.DispatcherServlet; SearchStrategy: all) found bean 'dispatcherServlet' (OnBeanCondition) EmbeddedWebServerFactoryCustomizerAutoConfiguration matched: - @ConditionalOnWebApplication (required) found 'session' scope (OnWebApplicationCondition) EmbeddedWebServerFactoryCustomizerAutoConfiguration.TomcatWebServerFactoryCustomizerConfiguration matched: - @ConditionalOnClass found required classes 'org.apache.catalina.startup.Tomcat', 'org.apache.coyote.UpgradeProtocol' (OnClassCondition) ErrorMvcAutoConfiguration matched: - @ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.springframework.web.servlet.DispatcherServlet' (OnClassCondition) - found 'session' scope (OnWebApplicationCondition) ErrorMvcAutoConfiguration#basicErrorController matched: - @ConditionalOnMissingBean (types: org.springframework.boot.web.servlet.error.ErrorController; SearchStrategy: current) did not find any beans (OnBeanCondition) ErrorMvcAutoConfiguration#errorAttributes matched: - @ConditionalOnMissingBean (types: org.springframework.boot.web.servlet.error.ErrorAttributes; SearchStrategy: current) did not find any beans (OnBeanCondition) ErrorMvcAutoConfiguration.DefaultErrorViewResolverConfiguration#conventionErrorViewResolver matched: - @ConditionalOnBean (types: org.springframework.web.servlet.DispatcherServlet; SearchStrategy: all) found bean 'dispatcherServlet'; @ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.servlet.error.DefaultErrorViewResolver; SearchStrategy: all) did not find any beans (OnBeanCondition) ErrorMvcAutoConfiguration.WhitelabelErrorViewConfiguration matched: - @ConditionalOnProperty (server.error.whitelabel.enabled) matched (OnPropertyCondition) - ErrorTemplate Missing did not find error template view (ErrorMvcAutoConfiguration.ErrorTemplateMissingCondition) ErrorMvcAutoConfiguration.WhitelabelErrorViewConfiguration#beanNameViewResolver matched: - @ConditionalOnMissingBean (types: org.springframework.web.servlet.view.BeanNameViewResolver; SearchStrategy: all) did not find any beans (OnBeanCondition) ErrorMvcAutoConfiguration.WhitelabelErrorViewConfiguration#defaultErrorView matched: - @ConditionalOnMissingBean (names: error; SearchStrategy: all) did not find any beans (OnBeanCondition) GenericCacheConfiguration matched: - Cache org.springframework.boot.autoconfigure.cache.GenericCacheConfiguration automatic cache type (CacheCondition) HttpEncodingAutoConfiguration matched: - @ConditionalOnClass found required class 'org.springframework.web.filter.CharacterEncodingFilter' (OnClassCondition) - found 'session' scope (OnWebApplicationCondition) - @ConditionalOnProperty (spring.http.encoding.enabled) matched (OnPropertyCondition) HttpEncodingAutoConfiguration#characterEncodingFilter matched: - @ConditionalOnMissingBean (types: org.springframework.web.filter.CharacterEncodingFilter; SearchStrategy: all) did not find any beans (OnBeanCondition) HttpMessageConvertersAutoConfiguration matched: - @ConditionalOnClass found required class 'org.springframework.http.converter.HttpMessageConverter' (OnClassCondition) HttpMessageConvertersAutoConfiguration#messageConverters matched: - @ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.http.HttpMessageConverters; SearchStrategy: all) did not find any beans (OnBeanCondition) HttpMessageConvertersAutoConfiguration.StringHttpMessageConverterConfiguration matched: - @ConditionalOnClass found required class 'org.springframework.http.converter.StringHttpMessageConverter' (OnClassCondition) HttpMessageConvertersAutoConfiguration.StringHttpMessageConverterConfiguration#stringHttpMessageConverter matched: - @ConditionalOnMissingBean (types: org.springframework.http.converter.StringHttpMessageConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) JacksonAutoConfiguration matched: - @ConditionalOnClass found required class 'com.fasterxml.jackson.databind.ObjectMapper' (OnClassCondition) JacksonAutoConfiguration.Jackson2ObjectMapperBuilderCustomizerConfiguration matched: - @ConditionalOnClass found required class 'org.springframework.http.converter.json.Jackson2ObjectMapperBuilder' (OnClassCondition) JacksonAutoConfiguration.JacksonObjectMapperBuilderConfiguration matched: - @ConditionalOnClass found required class 'org.springframework.http.converter.json.Jackson2ObjectMapperBuilder' (OnClassCondition) JacksonAutoConfiguration.JacksonObjectMapperBuilderConfiguration#jacksonObjectMapperBuilder matched: - @ConditionalOnMissingBean (types: org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; SearchStrategy: all) did not find any beans (OnBeanCondition) JacksonAutoConfiguration.JacksonObjectMapperConfiguration matched: - @ConditionalOnClass found required class 'org.springframework.http.converter.json.Jackson2ObjectMapperBuilder' (OnClassCondition) JacksonAutoConfiguration.JacksonObjectMapperConfiguration#jacksonObjectMapper matched: - @ConditionalOnMissingBean (types: com.fasterxml.jackson.databind.ObjectMapper; SearchStrategy: all) did not find any beans (OnBeanCondition) JacksonAutoConfiguration.ParameterNamesModuleConfiguration matched: - @ConditionalOnClass found required class 'com.fasterxml.jackson.module.paramnames.ParameterNamesModule' (OnClassCondition) JacksonAutoConfiguration.ParameterNamesModuleConfiguration#parameterNamesModule matched: - @ConditionalOnMissingBean (types: com.fasterxml.jackson.module.paramnames.ParameterNamesModule; SearchStrategy: all) did not find any beans (OnBeanCondition) JacksonHttpMessageConvertersConfiguration.MappingJackson2HttpMessageConverterConfiguration matched: - @ConditionalOnClass found required class 'com.fasterxml.jackson.databind.ObjectMapper' (OnClassCondition) - @ConditionalOnProperty (spring.http.converters.preferred-json-mapper=jackson) matched (OnPropertyCondition) - @ConditionalOnBean (types: com.fasterxml.jackson.databind.ObjectMapper; SearchStrategy: all) found bean 'jacksonObjectMapper' (OnBeanCondition) JacksonHttpMessageConvertersConfiguration.MappingJackson2HttpMessageConverterConfiguration#mappingJackson2HttpMessageConverter matched: - @ConditionalOnMissingBean (types: org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; SearchStrategy: all) did not find any beans (OnBeanCondition) JmxAutoConfiguration matched: - @ConditionalOnClass found required class 'org.springframework.jmx.export.MBeanExporter' (OnClassCondition) - @ConditionalOnProperty (spring.jmx.enabled=true) matched (OnPropertyCondition) JmxAutoConfiguration#mbeanExporter matched: - @ConditionalOnMissingBean (types: org.springframework.jmx.export.MBeanExporter; SearchStrategy: current) did not find any beans (OnBeanCondition) JmxAutoConfiguration#mbeanServer matched: - @ConditionalOnMissingBean (types: javax.management.MBeanServer; SearchStrategy: all) did not find any beans (OnBeanCondition) JmxAutoConfiguration#objectNamingStrategy matched: - @ConditionalOnMissingBean (types: org.springframework.jmx.export.naming.ObjectNamingStrategy; SearchStrategy: current) did not find any beans (OnBeanCondition) MultipartAutoConfiguration matched: - @ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.springframework.web.multipart.support.StandardServletMultipartResolver', 'javax.servlet.MultipartConfigElement' (OnClassCondition) - found 'session' scope (OnWebApplicationCondition) - @ConditionalOnProperty (spring.servlet.multipart.enabled) matched (OnPropertyCondition) MultipartAutoConfiguration#multipartConfigElement matched: - @ConditionalOnMissingBean (types: javax.servlet.MultipartConfigElement,org.springframework.web.multipart.commons.CommonsMultipartResolver; SearchStrategy: all) did not find any beans (OnBeanCondition) MultipartAutoConfiguration#multipartResolver matched: - @ConditionalOnMissingBean (types: org.springframework.web.multipart.MultipartResolver; SearchStrategy: all) did not find any beans (OnBeanCondition) NoOpCacheConfiguration matched: - Cache org.springframework.boot.autoconfigure.cache.NoOpCacheConfiguration automatic cache type (CacheCondition) ProjectInfoAutoConfiguration#buildProperties matched: - @ConditionalOnResource found location ${spring.info.build.location:classpath:META-INF/build-info.properties} (OnResourceCondition) - @ConditionalOnMissingBean (types: org.springframework.boot.info.BuildProperties; SearchStrategy: all) did not find any beans (OnBeanCondition) PropertyPlaceholderAutoConfiguration#propertySourcesPlaceholderConfigurer matched: - @ConditionalOnMissingBean (types: org.springframework.context.support.PropertySourcesPlaceholderConfigurer; SearchStrategy: current) did not find any beans (OnBeanCondition) RestTemplateAutoConfiguration matched: - @ConditionalOnClass found required class 'org.springframework.web.client.RestTemplate' (OnClassCondition) RestTemplateAutoConfiguration#restTemplateBuilder matched: - @ConditionalOnMissingBean (types: org.springframework.boot.web.client.RestTemplateBuilder; SearchStrategy: all) did not find any beans (OnBeanCondition) ServletWebServerFactoryAutoConfiguration matched: - @ConditionalOnClass found required class 'javax.servlet.ServletRequest' (OnClassCondition) - found 'session' scope (OnWebApplicationCondition) ServletWebServerFactoryAutoConfiguration#tomcatServletWebServerFactoryCustomizer matched: - @ConditionalOnClass found required class 'org.apache.catalina.startup.Tomcat' (OnClassCondition) ServletWebServerFactoryConfiguration.EmbeddedTomcat matched: - @ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.apache.catalina.startup.Tomcat', 'org.apache.coyote.UpgradeProtocol' (OnClassCondition) - @ConditionalOnMissingBean (types: org.springframework.boot.web.servlet.server.ServletWebServerFactory; SearchStrategy: current) did not find any beans (OnBeanCondition) SimpleCacheConfiguration matched: - Cache org.springframework.boot.autoconfigure.cache.SimpleCacheConfiguration automatic cache type (CacheCondition) SpringApplicationAdminJmxAutoConfiguration matched: - @ConditionalOnProperty (spring.application.admin.enabled=true) matched (OnPropertyCondition) SpringApplicationAdminJmxAutoConfiguration#springApplicationAdminRegistrar matched: - @ConditionalOnMissingBean (types: org.springframework.boot.admin.SpringApplicationAdminMXBeanRegistrar; SearchStrategy: all) did not find any beans (OnBeanCondition) TaskExecutionAutoConfiguration matched: - @ConditionalOnClass found required class 'org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor' (OnClassCondition) TaskExecutionAutoConfiguration#applicationTaskExecutor matched: - @ConditionalOnMissingBean (types: java.util.concurrent.Executor; SearchStrategy: all) did not find any beans (OnBeanCondition) TaskExecutionAutoConfiguration#taskExecutorBuilder matched: - @ConditionalOnMissingBean (types: org.springframework.boot.task.TaskExecutorBuilder; SearchStrategy: all) did not find any beans (OnBeanCondition) TaskSchedulingAutoConfiguration matched: - @ConditionalOnClass found required class 'org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler' (OnClassCondition) TaskSchedulingAutoConfiguration#taskSchedulerBuilder matched: - @ConditionalOnMissingBean (types: org.springframework.boot.task.TaskSchedulerBuilder; SearchStrategy: all) did not find any beans (OnBeanCondition) ValidationAutoConfiguration matched: - @ConditionalOnClass found required class 'javax.validation.executable.ExecutableValidator' (OnClassCondition) - @ConditionalOnResource found location classpath:META-INF/services/javax.validation.spi.ValidationProvider (OnResourceCondition) ValidationAutoConfiguration#defaultValidator matched: - @ConditionalOnMissingBean (types: javax.validation.Validator; SearchStrategy: all) did not find any beans (OnBeanCondition) ValidationAutoConfiguration#methodValidationPostProcessor matched: - @ConditionalOnMissingBean (types: org.springframework.validation.beanvalidation.MethodValidationPostProcessor; SearchStrategy: all) did not find any beans (OnBeanCondition) WebMvcAutoConfiguration matched: - @ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.springframework.web.servlet.DispatcherServlet', 'org.springframework.web.servlet.config.annotation.WebMvcConfigurer' (OnClassCondition) - found 'session' scope (OnWebApplicationCondition) - @ConditionalOnMissingBean (types: org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; SearchStrategy: all) did not find any beans (OnBeanCondition) WebMvcAutoConfiguration#formContentFilter matched: - @ConditionalOnProperty (spring.mvc.formcontent.filter.enabled) matched (OnPropertyCondition) - @ConditionalOnMissingBean (types: org.springframework.web.filter.FormContentFilter; SearchStrategy: all) did not find any beans (OnBeanCondition) WebMvcAutoConfiguration#hiddenHttpMethodFilter matched: - @ConditionalOnProperty (spring.mvc.hiddenmethod.filter.enabled) matched (OnPropertyCondition) - @ConditionalOnMissingBean (types: org.springframework.web.filter.HiddenHttpMethodFilter; SearchStrategy: all) did not find any beans (OnBeanCondition) WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#defaultViewResolver matched: - @ConditionalOnMissingBean (types: org.springframework.web.servlet.view.InternalResourceViewResolver; SearchStrategy: all) did not find any beans (OnBeanCondition) WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#requestContextFilter matched: - @ConditionalOnMissingBean (types: org.springframework.web.context.request.RequestContextListener,org.springframework.web.filter.RequestContextFilter; SearchStrategy: all) did not find any beans (OnBeanCondition) WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#viewResolver matched: - @ConditionalOnBean (types: org.springframework.web.servlet.ViewResolver; SearchStrategy: all) found beans 'defaultViewResolver', 'beanNameViewResolver', 'mvcViewResolver'; @ConditionalOnMissingBean (names: viewResolver; types: org.springframework.web.servlet.view.ContentNegotiatingViewResolver; SearchStrategy: all) did not find any beans (OnBeanCondition) WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter.FaviconConfiguration matched: - @ConditionalOnProperty (spring.mvc.favicon.enabled) matched (OnPropertyCondition) WebSocketServletAutoConfiguration matched: - @ConditionalOnClass found required classes 'javax.servlet.Servlet', 'javax.websocket.server.ServerContainer' (OnClassCondition) - found 'session' scope (OnWebApplicationCondition) WebSocketServletAutoConfiguration.TomcatWebSocketConfiguration matched: - @ConditionalOnClass found required classes 'org.apache.catalina.startup.Tomcat', 'org.apache.tomcat.websocket.server.WsSci' (OnClassCondition) WebSocketServletAutoConfiguration.TomcatWebSocketConfiguration#websocketServletWebServerCustomizer matched: - @ConditionalOnMissingBean (names: websocketServletWebServerCustomizer; SearchStrategy: all) did not find any beans (OnBeanCondition) Negative matches: ----------------- ActiveMQAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.jms.ConnectionFactory' (OnClassCondition) AopAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.aspectj.lang.annotation.Aspect' (OnClassCondition) ArtemisAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.jms.ConnectionFactory' (OnClassCondition) BatchAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.batch.core.launch.JobLauncher' (OnClassCondition) CacheAutoConfiguration: Did not match: - @ConditionalOnBean (types: org.springframework.cache.interceptor.CacheAspectSupport; SearchStrategy: all) did not find any beans of type org.springframework.cache.interceptor.CacheAspectSupport (OnBeanCondition) Matched: - @ConditionalOnClass found required class 'org.springframework.cache.CacheManager' (OnClassCondition) CacheAutoConfiguration.CacheManagerJpaDependencyConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean' (OnClassCondition) - Ancestor org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration did not match (ConditionEvaluationReport.AncestorsMatchedCondition) CaffeineCacheConfiguration: Did not match: - @ConditionalOnClass did not find required classes 'com.github.benmanes.caffeine.cache.Caffeine', 'org.springframework.cache.caffeine.CaffeineCacheManager' (OnClassCondition) CassandraAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.datastax.driver.core.Cluster' (OnClassCondition) CassandraDataAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.datastax.driver.core.Cluster' (OnClassCondition) CassandraReactiveDataAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.datastax.driver.core.Cluster' (OnClassCondition) CassandraReactiveRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.cassandra.ReactiveSession' (OnClassCondition) CassandraRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.datastax.driver.core.Session' (OnClassCondition) ClientHttpConnectorAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.web.reactive.function.client.WebClient' (OnClassCondition) CloudServiceConnectorsAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.cloud.config.java.CloudScanConfiguration' (OnClassCondition) CouchbaseAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.couchbase.client.java.Cluster' (OnClassCondition) CouchbaseCacheConfiguration: Did not match: - @ConditionalOnClass did not find required classes 'com.couchbase.client.java.Bucket', 'com.couchbase.client.spring.cache.CouchbaseCacheManager' (OnClassCondition) CouchbaseDataAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.couchbase.client.java.Bucket' (OnClassCondition) CouchbaseReactiveDataAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.couchbase.client.java.Bucket' (OnClassCondition) CouchbaseReactiveRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.couchbase.client.java.Bucket' (OnClassCondition) CouchbaseRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.couchbase.client.java.Bucket' (OnClassCondition) DataSourceAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType' (OnClassCondition) DataSourceTransactionManagerAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.jdbc.core.JdbcTemplate' (OnClassCondition) DispatcherServletAutoConfiguration.DispatcherServletConfiguration#multipartResolver: Did not match: - @ConditionalOnBean (types: org.springframework.web.multipart.MultipartResolver; SearchStrategy: all) did not find any beans of type org.springframework.web.multipart.MultipartResolver (OnBeanCondition) EhCacheCacheConfiguration: Did not match: - @ConditionalOnClass did not find required classes 'net.sf.ehcache.Cache', 'org.springframework.cache.ehcache.EhCacheCacheManager' (OnClassCondition) ElasticsearchAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.elasticsearch.client.Client' (OnClassCondition) ElasticsearchDataAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.elasticsearch.client.Client' (OnClassCondition) ElasticsearchRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.elasticsearch.client.Client' (OnClassCondition) EmbeddedLdapAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.unboundid.ldap.listener.InMemoryDirectoryServer' (OnClassCondition) EmbeddedMongoAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.mongodb.MongoClient' (OnClassCondition) EmbeddedWebServerFactoryCustomizerAutoConfiguration.JettyWebServerFactoryCustomizerConfiguration: Did not match: - @ConditionalOnClass did not find required classes 'org.eclipse.jetty.server.Server', 'org.eclipse.jetty.util.Loader', 'org.eclipse.jetty.webapp.WebAppContext' (OnClassCondition) EmbeddedWebServerFactoryCustomizerAutoConfiguration.NettyWebServerFactoryCustomizerConfiguration: Did not match: - @ConditionalOnClass did not find required class 'reactor.netty.http.server.HttpServer' (OnClassCondition) EmbeddedWebServerFactoryCustomizerAutoConfiguration.UndertowWebServerFactoryCustomizerConfiguration: Did not match: - @ConditionalOnClass did not find required classes 'io.undertow.Undertow', 'org.xnio.SslClientAuthMode' (OnClassCondition) ErrorWebFluxAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.web.reactive.config.WebFluxConfigurer' (OnClassCondition) FlywayAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.flywaydb.core.Flyway' (OnClassCondition) FreeMarkerAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'freemarker.template.Configuration' (OnClassCondition) GroovyTemplateAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'groovy.text.markup.MarkupTemplateEngine' (OnClassCondition) GsonAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.google.gson.Gson' (OnClassCondition) GsonHttpMessageConvertersConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.google.gson.Gson' (OnClassCondition) H2ConsoleAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.h2.server.web.WebServlet' (OnClassCondition) HazelcastAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.hazelcast.core.HazelcastInstance' (OnClassCondition) HazelcastCacheConfiguration: Did not match: - @ConditionalOnClass did not find required classes 'com.hazelcast.core.HazelcastInstance', 'com.hazelcast.spring.cache.HazelcastCacheManager' (OnClassCondition) HazelcastJpaDependencyAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.hazelcast.core.HazelcastInstance' (OnClassCondition) HibernateJpaAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.persistence.EntityManager' (OnClassCondition) HttpHandlerAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.web.reactive.DispatcherHandler' (OnClassCondition) HypermediaAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.hateoas.Resource' (OnClassCondition) InfinispanCacheConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.infinispan.spring.provider.SpringEmbeddedCacheManager' (OnClassCondition) InfluxDbAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.influxdb.InfluxDB' (OnClassCondition) IntegrationAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.integration.config.EnableIntegration' (OnClassCondition) JCacheCacheConfiguration: Did not match: - @ConditionalOnClass did not find required classes 'javax.cache.Caching', 'org.springframework.cache.jcache.JCacheCacheManager' (OnClassCondition) JacksonAutoConfiguration.JodaDateTimeJacksonConfiguration: Did not match: - @ConditionalOnClass did not find required classes 'org.joda.time.DateTime', 'com.fasterxml.jackson.datatype.joda.ser.DateTimeSerializer', 'com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaDateFormat' (OnClassCondition) JacksonHttpMessageConvertersConfiguration.MappingJackson2XmlHttpMessageConverterConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.fasterxml.jackson.dataformat.xml.XmlMapper' (OnClassCondition) JdbcRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.jdbc.repository.config.JdbcConfiguration' (OnClassCondition) JdbcTemplateAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.jdbc.core.JdbcTemplate' (OnClassCondition) JerseyAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.glassfish.jersey.server.spring.SpringComponentProvider' (OnClassCondition) JestAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'io.searchbox.client.JestClient' (OnClassCondition) JmsAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.jms.Message' (OnClassCondition) JndiConnectionFactoryAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.jms.core.JmsTemplate' (OnClassCondition) JndiDataSourceAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType' (OnClassCondition) JooqAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.jooq.DSLContext' (OnClassCondition) JpaRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.jpa.repository.JpaRepository' (OnClassCondition) JsonbAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.json.bind.Jsonb' (OnClassCondition) JsonbHttpMessageConvertersConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.json.bind.Jsonb' (OnClassCondition) JtaAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.transaction.Transaction' (OnClassCondition) KafkaAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.kafka.core.KafkaTemplate' (OnClassCondition) LdapAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.ldap.core.ContextSource' (OnClassCondition) LdapRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.ldap.repository.LdapRepository' (OnClassCondition) LiquibaseAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'liquibase.change.DatabaseChange' (OnClassCondition) MailSenderAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.mail.internet.MimeMessage' (OnClassCondition) MailSenderValidatorAutoConfiguration: Did not match: - @ConditionalOnSingleCandidate did not find required type 'org.springframework.mail.javamail.JavaMailSenderImpl' (OnBeanCondition) MessageSourceAutoConfiguration: Did not match: - ResourceBundle did not find bundle with basename messages (MessageSourceAutoConfiguration.ResourceBundleCondition) MongoAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.mongodb.MongoClient' (OnClassCondition) MongoDataAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.mongodb.client.MongoClient' (OnClassCondition) MongoReactiveAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.mongodb.reactivestreams.client.MongoClient' (OnClassCondition) MongoReactiveDataAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.mongodb.reactivestreams.client.MongoClient' (OnClassCondition) MongoReactiveRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.mongodb.reactivestreams.client.MongoClient' (OnClassCondition) MongoRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.mongodb.MongoClient' (OnClassCondition) MustacheAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.samskivert.mustache.Mustache' (OnClassCondition) Neo4jDataAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.neo4j.ogm.session.SessionFactory' (OnClassCondition) Neo4jRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.neo4j.ogm.session.Neo4jSession' (OnClassCondition) OAuth2ClientAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.security.config.annotation.web.configuration.EnableWebSecurity' (OnClassCondition) OAuth2ResourceServerAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.security.oauth2.jwt.JwtDecoder' (OnClassCondition) PersistenceExceptionTranslationAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor' (OnClassCondition) ProjectInfoAutoConfiguration#gitProperties: Did not match: - GitResource did not find git info at classpath:git.properties (ProjectInfoAutoConfiguration.GitResourceAvailableCondition) QuartzAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.quartz.Scheduler' (OnClassCondition) RabbitAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.rabbitmq.client.Channel' (OnClassCondition) ReactiveOAuth2ClientAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'reactor.core.publisher.Flux' (OnClassCondition) ReactiveOAuth2ResourceServerAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity' (OnClassCondition) ReactiveSecurityAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'reactor.core.publisher.Flux' (OnClassCondition) ReactiveUserDetailsServiceAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.security.authentication.ReactiveAuthenticationManager' (OnClassCondition) ReactiveWebServerFactoryAutoConfiguration: Did not match: - @ConditionalOnWebApplication did not find reactive web application classes (OnWebApplicationCondition) ReactorCoreAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'reactor.core.publisher.Flux' (OnClassCondition) RedisAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.redis.core.RedisOperations' (OnClassCondition) RedisCacheConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.redis.connection.RedisConnectionFactory' (OnClassCondition) RedisReactiveAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'reactor.core.publisher.Flux' (OnClassCondition) RedisRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.redis.repository.configuration.EnableRedisRepositories' (OnClassCondition) RepositoryRestMvcAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration' (OnClassCondition) RestClientAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.elasticsearch.client.RestClient' (OnClassCondition) SecurityAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.security.authentication.DefaultAuthenticationEventPublisher' (OnClassCondition) SecurityFilterAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.security.config.http.SessionCreationPolicy' (OnClassCondition) SecurityRequestMatcherProviderAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.security.web.util.matcher.RequestMatcher' (OnClassCondition) SendGridAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'com.sendgrid.SendGrid' (OnClassCondition) ServletWebServerFactoryConfiguration.EmbeddedJetty: Did not match: - @ConditionalOnClass did not find required classes 'org.eclipse.jetty.server.Server', 'org.eclipse.jetty.util.Loader', 'org.eclipse.jetty.webapp.WebAppContext' (OnClassCondition) ServletWebServerFactoryConfiguration.EmbeddedUndertow: Did not match: - @ConditionalOnClass did not find required classes 'io.undertow.Undertow', 'org.xnio.SslClientAuthMode' (OnClassCondition) SessionAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.session.Session' (OnClassCondition) SolrAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.apache.solr.client.solrj.impl.CloudSolrClient' (OnClassCondition) SolrRepositoriesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.apache.solr.client.solrj.SolrClient' (OnClassCondition) SpringDataWebAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.data.web.PageableHandlerMethodArgumentResolver' (OnClassCondition) TaskSchedulingAutoConfiguration#taskScheduler: Did not match: - @ConditionalOnBean (names: org.springframework.context.annotation.internalScheduledAnnotationProcessor; SearchStrategy: all) did not find any beans named org.springframework.context.annotation.internalScheduledAnnotationProcessor (OnBeanCondition) ThymeleafAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.thymeleaf.spring5.SpringTemplateEngine' (OnClassCondition) TransactionAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.transaction.PlatformTransactionManager' (OnClassCondition) UserDetailsServiceAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.security.authentication.AuthenticationManager' (OnClassCondition) WebClientAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.web.reactive.function.client.WebClient' (OnClassCondition) WebFluxAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.web.reactive.config.WebFluxConfigurer' (OnClassCondition) WebMvcAutoConfiguration.ResourceChainCustomizerConfiguration: Did not match: - @ConditionalOnEnabledResourceChain did not find class org.webjars.WebJarAssetLocator (OnEnabledResourceChainCondition) WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#beanNameViewResolver: Did not match: - @ConditionalOnMissingBean (types: org.springframework.web.servlet.view.BeanNameViewResolver; SearchStrategy: all) found beans of type 'org.springframework.web.servlet.view.BeanNameViewResolver' beanNameViewResolver (OnBeanCondition) WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#localeResolver: Did not match: - @ConditionalOnProperty (spring.mvc.locale) did not find property 'locale' (OnPropertyCondition) WebServiceTemplateAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.oxm.Marshaller' (OnClassCondition) WebServicesAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.ws.transport.http.MessageDispatcherServlet' (OnClassCondition) WebSocketMessagingAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer' (OnClassCondition) WebSocketReactiveAutoConfiguration: Did not match: - @ConditionalOnWebApplication did not find reactive web application classes (OnWebApplicationCondition) WebSocketServletAutoConfiguration.JettyWebSocketConfiguration: Did not match: - @ConditionalOnClass did not find required class 'org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer' (OnClassCondition) WebSocketServletAutoConfiguration.UndertowWebSocketConfiguration: Did not match: - @ConditionalOnClass did not find required class 'io.undertow.websockets.jsr.Bootstrap' (OnClassCondition) XADataSourceAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.transaction.TransactionManager' (OnClassCondition) Exclusions: ----------- None Unconditional classes: ---------------------- org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration 2020-09-08 10:10:51.803 {main} DEBUG o.s.core.env.PropertySourcesPropertyResolver - Found key 'spring.liveBeansView.mbeanDomain' in PropertySource 'systemProperties' with value of type String 2020-09-08 10:10:51.804 {main} INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8003"] 2020-09-08 10:10:51.825 {main} INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8003 (http) with context path '' 2020-09-08 10:10:51.828 {main} INFO com.drawnblue.netty.ClientApplication - Started ClientApplication in 1.902 seconds (JVM running for 2.559) 2020-09-08 10:10:51.835 {main} DEBUG i.n.util.internal.logging.InternalLoggerFactory - Using SLF4J as the default logging framework 2020-09-08 10:10:51.836 {main} DEBUG io.netty.channel.MultithreadEventLoopGroup - -Dio.netty.eventLoopThreads: 8 2020-09-08 10:10:51.847 {main} DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.initialSize: 1024 2020-09-08 10:10:51.847 {main} DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.maxSize: 4096 2020-09-08 10:10:51.852 {main} DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.noKeySetOptimization: false 2020-09-08 10:10:51.852 {main} DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.selectorAutoRebuildThreshold: 512 2020-09-08 10:10:51.853 {main} DEBUG io.netty.util.internal.PlatformDependent - Platform: Windows 2020-09-08 10:10:51.854 {main} DEBUG io.netty.util.internal.PlatformDependent0 - -Dio.netty.noUnsafe: false 2020-09-08 10:10:51.856 {main} DEBUG io.netty.util.internal.PlatformDependent0 - Java version: 8 2020-09-08 10:10:51.856 {main} DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.theUnsafe: available 2020-09-08 10:10:51.857 {main} DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.copyMemory: available 2020-09-08 10:10:51.857 {main} DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Buffer.address: available 2020-09-08 10:10:51.858 {main} DEBUG io.netty.util.internal.PlatformDependent0 - direct buffer constructor: available 2020-09-08 10:10:51.859 {main} DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Bits.unaligned: available, true 2020-09-08 10:10:51.859 {main} DEBUG io.netty.util.internal.PlatformDependent0 - jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable prior to Java9 2020-09-08 10:10:51.859 {main} DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.DirectByteBuffer.<init>(long, int): available 2020-09-08 10:10:51.859 {main} DEBUG io.netty.util.internal.PlatformDependent - sun.misc.Unsafe: available 2020-09-08 10:10:51.859 {main} DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.tmpdir: C:\Users\ADMINI~1\AppData\Local\Temp (java.io.tmpdir) 2020-09-08 10:10:51.859 {main} DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.bitMode: 64 (sun.arch.data.model) 2020-09-08 10:10:51.860 {main} DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.maxDirectMemory: 3795845120 bytes 2020-09-08 10:10:51.860 {main} DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.uninitializedArrayAllocationThreshold: -1 2020-09-08 10:10:51.861 {main} DEBUG io.netty.util.internal.CleanerJava6 - java.nio.ByteBuffer.cleaner(): available 2020-09-08 10:10:51.861 {main} DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.noPreferDirect: false 2020-09-08 10:10:51.862 {main} DEBUG io.netty.util.internal.PlatformDependent - org.jctools-core.MpscChunkedArrayQueue: available 2020-09-08 10:10:51.883 {main} DEBUG io.netty.channel.DefaultChannelId - -Dio.netty.processId: 19160 (auto-detected) 2020-09-08 10:10:51.884 {main} DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv4Stack: false 2020-09-08 10:10:51.884 {main} DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv6Addresses: false 2020-09-08 10:10:51.963 {main} DEBUG io.netty.util.NetUtil - Loopback interface: lo (Software Loopback Interface 1, 127.0.0.1) 2020-09-08 10:10:51.964 {main} DEBUG io.netty.util.NetUtil - Failed to get SOMAXCONN from sysctl and file \proc\sys\net\core\somaxconn. Default: 200 2020-09-08 10:10:52.060 {main} DEBUG io.netty.channel.DefaultChannelId - -Dio.netty.machineId: e0:d5:5e:ff:fe:5f:86:6e (auto-detected) 2020-09-08 10:10:52.070 {main} DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.level: simple 2020-09-08 10:10:52.070 {main} DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.targetRecords: 4 2020-09-08 10:10:52.081 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.numHeapArenas: 8 2020-09-08 10:10:52.081 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.numDirectArenas: 8 2020-09-08 10:10:52.081 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.pageSize: 8192 2020-09-08 10:10:52.081 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxOrder: 11 2020-09-08 10:10:52.081 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.chunkSize: 16777216 2020-09-08 10:10:52.081 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.tinyCacheSize: 512 2020-09-08 10:10:52.081 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.smallCacheSize: 256 2020-09-08 10:10:52.081 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.normalCacheSize: 64 2020-09-08 10:10:52.081 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxCachedBufferCapacity: 32768 2020-09-08 10:10:52.081 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.cacheTrimInterval: 8192 2020-09-08 10:10:52.081 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.cacheTrimIntervalMillis: 0 2020-09-08 10:10:52.081 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.useCacheForAllThreads: true 2020-09-08 10:10:52.081 {main} DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxCachedByteBuffersPerChunk: 1023 2020-09-08 10:10:52.085 {main} DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.allocator.type: pooled 2020-09-08 10:10:52.086 {main} DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.threadLocalDirectBufferSize: 0 2020-09-08 10:10:52.086 {main} DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.maxThreadLocalCharBufferSize: 16384 2020-09-08 10:10:52.101 {main} INFO com.drawnblue.netty.client.TCPClient - 客户端连接主机:127.0.0.1,ip:8889成功! 2020-09-08 10:10:52.153 {nioEventLoopGroup-2-1} DEBUG io.netty.util.Recycler - -Dio.netty.recycler.maxCapacityPerThread: 4096 2020-09-08 10:10:52.153 {nioEventLoopGroup-2-1} DEBUG io.netty.util.Recycler - -Dio.netty.recycler.maxSharedCapacityFactor: 2 2020-09-08 10:10:52.153 {nioEventLoopGroup-2-1} DEBUG io.netty.util.Recycler - -Dio.netty.recycler.linkCapacity: 16 2020-09-08 10:10:52.153 {nioEventLoopGroup-2-1} DEBUG io.netty.util.Recycler - -Dio.netty.recycler.ratio: 8 2020-09-08 10:10:52.153 {nioEventLoopGroup-2-1} DEBUG io.netty.util.Recycler - -Dio.netty.recycler.delayedQueue.ratio: 8 2020-09-08 10:10:52.158 {nioEventLoopGroup-2-1} DEBUG io.netty.buffer.AbstractByteBuf - -Dio.netty.buffer.checkAccessible: true 2020-09-08 10:10:52.158 {nioEventLoopGroup-2-1} DEBUG io.netty.buffer.AbstractByteBuf - -Dio.netty.buffer.checkBounds: true 2020-09-08 10:10:52.159 {nioEventLoopGroup-2-1} DEBUG io.netty.util.ResourceLeakDetectorFactory - Loaded default ResourceLeakDetector: io.netty.util.ResourceLeakDetector@7b720d33 2020-09-08 10:10:52.161 {nioEventLoopGroup-2-1} INFO com.drawnblue.nettycommon.codec.MsgEncode - 编码 msg=Message(head=Head(crcCode=1, length=76, sessionId=23, type=3, priority=1, attachment={dev=2534, name=张三}), body=Body(payload=welcom to shenzhen)) 2020-09-08 10:10:52.162 {nioEventLoopGroup-2-1} INFO com.drawnblue.nettycommon.codec.MsgEncode - 编码调用结束 2020-09-08 10:10:52.189 {nioEventLoopGroup-2-1} INFO com.drawnblue.nettycommon.codec.MsgDecode - 解码 2020-09-08 10:10:52.190 {nioEventLoopGroup-2-1} INFO com.drawnblue.nettycommon.codec.MsgDecode - 解码结束!message=Message(head=Head(crcCode=1, length=76, sessionId=23, type=4, priority=1, attachment={dev=2534, name=张三}), body=Body(payload=welcom to shenzhen)) heartbeatReqhandler receive msg:Message(head=Head(crcCode=1, length=76, sessionId=23, type=4, priority=1, attachment={dev=2534, name=张三}), body=Body(payload=welcom to shenzhen)) clent send heartbeat*** 2020-09-08 10:10:52.192 {nioEventLoopGroup-2-1} INFO com.drawnblue.nettycommon.codec.MsgEncode - 编码 msg=Message(head=Head(crcCode=44015, length=18, sessionId=0, type=5, priority=1, attachment=null), body=null) 2020-09-08 10:10:52.192 {nioEventLoopGroup-2-1} INFO com.drawnblue.nettycommon.codec.MsgEncode - 编码调用结束 2020-09-08 10:10:52.193 {nioEventLoopGroup-2-1} INFO com.drawnblue.nettycommon.codec.MsgDecode - 解码 2020-09-08 10:10:52.193 {nioEventLoopGroup-2-1} INFO com.drawnblue.nettycommon.codec.MsgDecode - 解码结束!message=Message(head=Head(crcCode=44015, length=18, sessionId=0, type=6, priority=1, attachment={}), body=Body(payload=null)) heartbeatReqhandler receive msg:Message(head=Head(crcCode=44015, length=18, sessionId=0, type=6, priority=1, attachment={}), body=Body(payload=null)) client receive heartbeat msg:Message(head=Head(crcCode=44015, length=18, sessionId=0, type=6, priority=1, attachment={}), body=Body(payload=null)) clent send heartbeat*** 2020-09-08 10:11:42.192 {nioEventLoopGroup-2-1} INFO com.drawnblue.nettycommon.codec.MsgEncode - 编码 msg=Message(head=Head(crcCode=44015, length=18, sessionId=0, type=5, priority=1, attachment=null), body=null) 2020-09-08 10:11:42.192 {nioEventLoopGroup-2-1} INFO com.drawnblue.nettycommon.codec.MsgEncode - 编码调用结束 2020-09-08 10:11:42.193 {nioEventLoopGroup-2-1} INFO com.drawnblue.nettycommon.codec.MsgDecode - 解码 2020-09-08 10:11:42.193 {nioEventLoopGroup-2-1} INFO com.drawnblue.nettycommon.codec.MsgDecode - 解码结束!message=Message(head=Head(crcCode=44015, length=18, sessionId=0, type=6, priority=1, attachment={}), body=Body(payload=null)) heartbeatReqhandler receive msg:Message(head=Head(crcCode=44015, length=18, sessionId=0, type=6, priority=1, attachment={}), body=Body(payload=null)) client receive heartbeat msg:Message(head=Head(crcCode=44015, length=18, sessionId=0, type=6, priority=1, attachment={}), body=Body(payload=null))
上面的心跳是自定义的,也可以用netty自带的心跳并进行自定义如以下,服务端采用
// .addLast(new IdleStateHandler(3,5,7, TimeUnit.SECONDS))
// .addLast(new HeartBeatBuz())
添加自定义心跳
package com.drawnblue.netty.handler; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; import io.netty.handler.timeout.IdleStateEvent; import io.netty.handler.timeout.IdleStateHandler; public class HeartBeatBuz extends ChannelInboundHandlerAdapter { @Override public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception { if(evt instanceof IdleStateHandler){ IdleStateEvent event = (IdleStateEvent) evt; String eventType = null; switch (event.state()){ case READER_IDLE: eventType="读空闲"; break; case WRITER_IDLE: eventType="写空闲"; break; case ALL_IDLE: eventType="读写空闲"; break; } System.out.println(ctx.channel().remoteAddress()+"---超时时间--"+eventType); System.out.println("处理相应业务"); } } }
本博主支持并坚持原创,本博客文章将以原创为主。