一、编码Encode
数据在入logstash之前,以UDP为例,注意UDP序列化后byte[]大小为固定的65507,需要取出真实数据字段进行BASE64,这里有个隐藏问题是BASE64会使数组长度变化为原来的4/3,所以太长的byte流可能就会超限无法发送,需要重新拆分,不过我们这里没这个问题。
final TBase dto = (TBase) message;
final byte[] internalBufferData = serialize(this.serializer, dto);
final int internalBufferSize = this.serializer.getInterBufferSize();
byte[] bufferData = new byte [internalBufferSize];
System.arraycopy(internalBufferData, 0, bufferData, 0, internalB