All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jd.bdp.mysql.tracker.MysqlDriverTest Maven / Gradle / Ivy

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