原创 Netty中option和childOption的區別

EventLoopGroup bossGroup = new NioEventLoopGroup(); EventLoopGroup workerGruop = new NioEventLoopGroup(

原创 Netty ChannelOption.SO_BACKLOG配置

ChannelOption.SO_BACKLOG對應的是tcp/ip協議, listen函數 中的 backlog 參數,用來初始化服務端可連接隊列。函數: // backlog 指定了內核爲此套接口排隊的最大連接個數; // 對於給定的

原创 如何使用XStream框架編碼UTF-8?

/** *獲取報文長度 */public static String getNoDataRepXml(Object object) { String xml = ""; try { XStream xStream

原创 LengthFieldBasedFrameDecoder解析

解碼器LengthFieldBasedFrameDecoder, 從名字上可以猜測出來, 它是基於長度的解碼器.Netty從TCP緩衝區中讀取字節, 把這些字節交給LengthFieldBasedFrameDecoder進行解碼, 解碼的操

原创 LengthFieldBasedFrameDecoder解碼器

1參數詳解 1.1.1 new LengthFieldBasedFrameDecoder(Integer.MAX_VALUE, 0, 2) lengthFieldOffset = 0 lengthFieldLength = 2 len

原创 怎樣通過反射機制調用java對象的方法?

@RestController public class GetStudentInfoController { private static final Logger logger = LoggerFactory.getLogge

原创 spring boot 反射創建@Autowired注入爲null解決

問題描述: 當通過反射獲取任務所在類的方法時,方法中通過依賴注入進來的對象全部爲空導致異常報錯。   String repXml = ""; RepTransaction transac

原创 Java線程池中的各個參數如何合理設置

一、前言 在開發過程中,好多場景要用到線程池。每次都是自己根據業務場景來設置線程池中的各個參數。 這兩天又有需求碰到了,索性總結一下方便以後再遇到可以直接看着用。 雖說根據業務場景來設置各個參數的值,但有些萬變不離其宗,掌握它的原理對如何用

原创 netty該處理耗時業務

前言 熟悉 Netty 的同學都知道,不能在 Netty 中做耗時的,不可預料的操作,比如數據庫,網絡請求,這將會嚴重影響 Netty 對 Socket 的處理速度。而解決方法就是將耗時任務添加到異步線程池中。但就添加線程池這步操作來講,可

原创 AdaptiveRecvByteBufAllocator解析

看官方說法,是一個能根據以往接受的消息進行計算,動態調整內存,利用CPU資源來換取內存資源,具體的實現策略如下:根據之前Channel接收到的數據包大小進行計算,如果連續填充滿接收緩衝區的可寫空間,則動態擴展容量。如果連續2次接收到的數據包

原创 cannot resolve constructor ServletRegistrationBean

報錯內容爲 Cannot resolve constructor ‘ServletRegistrationBean(com.bstek.ureport.console.UReportServlet, java.lang.String)’  

原创 netty 中客戶端添加解析器,channelRead0 不執行

項目中用了netty框架,自定義瞭解碼器,由於沒有結束符,導致了channelRead0一直不會執行。既然不會被動觸發,那就需要主動觸發。不過主動觸發的是         channelRead,不是channelRead0,這點需要注意,

原创 org.dom4j.DocumentException: Error on line 1 of document : 前言中不允許有內容。

  我收到的應答報文:  00000827<?xml version="1.0" encoding="UTF-8"?><transaction>  <header>    <ver>1.0</ver>    <msg>      <rcv

原创 SimpleChannelInboundHandler中channelread和channelread0的區別

先看channelRead方法,直接上源碼 public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { boolean relea

原创 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure Last packet

我的連接mysql驅動的版本問題,更換了一下mqsql版本就好了,之前用的5.1.34,換成下面的就行了 <!--mysql--><dependency> <groupId>mysql</groupId> <artifactId>m