diff --git a/common/src/main/java/com/alibaba/otter/canal/common/utils/JsonUtils.java b/common/src/main/java/com/alibaba/otter/canal/common/utils/JsonUtils.java index 5eba81e8..eea67c73 100644 --- a/common/src/main/java/com/alibaba/otter/canal/common/utils/JsonUtils.java +++ b/common/src/main/java/com/alibaba/otter/canal/common/utils/JsonUtils.java @@ -1,9 +1,5 @@ package com.alibaba.otter.canal.common.utils; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.TypeReference; -import com.alibaba.fastjson.serializer.*; - import java.io.IOException; import java.lang.reflect.Type; import java.net.Inet4Address; @@ -12,6 +8,15 @@ import java.net.InetAddress; import java.util.Arrays; import java.util.List; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; +import com.alibaba.fastjson.serializer.JSONSerializer; +import com.alibaba.fastjson.serializer.ObjectSerializer; +import com.alibaba.fastjson.serializer.PropertyFilter; +import com.alibaba.fastjson.serializer.SerializeConfig; +import com.alibaba.fastjson.serializer.SerializeWriter; +import com.alibaba.fastjson.serializer.SerializerFeature; + /** * 字节处理相关工具类 * @@ -84,17 +89,6 @@ public class JsonUtils { public static InetAddressSerializer instance = new InetAddressSerializer(); @Override - public void write(JSONSerializer serializer, Object object, Object fieldName, Type type, int i) throws IOException { - if (object == null) { - serializer.writeNull(); - return; - } - - InetAddress address = (InetAddress) object; - // 优先使用name - serializer.write(address.getHostName()); - } - public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) throws IOException { if (object == null) { diff --git a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/MysqlConnection.java b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/MysqlConnection.java index ee2fa52c..40408bfa 100644 --- a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/MysqlConnection.java +++ b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/MysqlConnection.java @@ -2,6 +2,7 @@ package com.alibaba.otter.canal.parse.inbound.mysql; import java.io.IOException; import java.net.InetSocketAddress; +import java.nio.ByteBuffer; import java.nio.charset.Charset; import java.util.List; @@ -147,7 +148,8 @@ public class MysqlConnection implements ErosaConnection { HeaderPacket binlogDumpHeader = new HeaderPacket(); binlogDumpHeader.setPacketBodyLength(cmdBody.length); binlogDumpHeader.setPacketSequenceNumber((byte) 0x00); - PacketManager.write(connector.getChannel(), binlogDumpHeader.toBytes(), cmdBody); + PacketManager.write(connector.getChannel(), new ByteBuffer[] { ByteBuffer.wrap(binlogDumpHeader.toBytes()), + ByteBuffer.wrap(cmdBody) }); connector.setDumping(true); }