
com.jd.bdp.mysql.tracker.MysqlDriverTest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mysql-tracker Show documentation
Show all versions of mysql-tracker Show documentation
mysql-tracker is a mysql binlog dumper that fetch and parse the binlog event
The newest version!
package com.jd.bdp.mysql.tracker;
import com.github.hackerwin7.mysql.tracker.mysql.driver.MysqlConnector;
import com.github.hackerwin7.mysql.tracker.mysql.driver.MysqlQueryExecutor;
import com.github.hackerwin7.mysql.tracker.mysql.driver.packets.server.FieldPacket;
import com.github.hackerwin7.mysql.tracker.mysql.driver.packets.server.ResultSetPacket;
import org.apache.log4j.Logger;
import org.springframework.util.CollectionUtils;
import java.net.InetSocketAddress;
import java.util.List;
/**
* Created by hp on 6/8/15.
*/
public class MysqlDriverTest {
private Logger logger = Logger.getLogger(MysqlDriverTest.class);
private MysqlConnector connector;
private MysqlQueryExecutor queryExecutor;
private String ip = "127.0.0.1";
private int port = 3306;
private String usr = "canal";
private String psd = "canal";
private String cmd = "show master status";
public MysqlDriverTest(String ip, int port, String usr, String psd) throws Exception {
connector = new MysqlConnector(new InetSocketAddress(ip, port), usr, psd);
connector.connect();
queryExecutor = new MysqlQueryExecutor(connector);
}
public MysqlDriverTest() throws Exception {
connector = new MysqlConnector(new InetSocketAddress(ip, port), usr, psd);
connector.connect();
queryExecutor = new MysqlQueryExecutor(connector);
}
public MysqlDriverTest(String ip, int port, String usr, String psd, String _cmd) throws Exception {
connector = new MysqlConnector(new InetSocketAddress(ip, port), usr, psd);
connector.connect();
queryExecutor = new MysqlQueryExecutor(connector);
cmd = _cmd;
}
public void process() throws Exception {
ResultSetPacket result = queryExecutor.query(cmd);
List fields = result.getFieldValues();
if(CollectionUtils.isEmpty(fields)) {
logger.info("null result");
} else {
for(String f : fields) {
logger.info(f);
}
}
}
public void process1() throws Exception {
ResultSetPacket result = queryExecutor.query(cmd);
List vals = result.getFieldValues();
List fields = result.getFieldDescriptors();
if(CollectionUtils.isEmpty(vals) || CollectionUtils.isEmpty(fields)) {
logger.info("null result");
} else {
int valsLen = vals.size();
int fieldsLen = fields.size();
logger.info("vals len = " + valsLen + ", fields len = " + fieldsLen);
int i = 0;
for(; i <= valsLen - 1 && i <= fieldsLen - 1; i++) {
logger.info(fields.get(i) + " # " + vals.get(i));
}
for(int j = i; j <= fieldsLen - 1; j++) {
logger.info("remain field : " + fields.get(j));
}
for(int j = i; j <= valsLen - 1; j++) {
logger.info("remain value : " + vals.get(j));
}
}
}
public static void main(String[] args) throws Exception {
MysqlDriverTest mdt = new MysqlDriverTest(args[0], Integer.valueOf(args[1]), args[2], args[3], args[4]);
mdt.process1();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy