private static MQProperties buildMQProperties(Properties properties) {
        MQProperties mqProperties = new MQProperties();
        String servers = CanalController.getProperty(properties, CanalConstants.CANAL_MQ_SERVERS);
        if (!StringUtils.isEmpty(servers)) {
            mqProperties.setServers(servers);
        }
        String retires = CanalController.getProperty(properties, CanalConstants.CANAL_MQ_RETRIES);
        if (!StringUtils.isEmpty(retires)) {
            mqProperties.setRetries(Integer.valueOf(retires));
        }
        String batchSize = CanalController.getProperty(properties, CanalConstants.CANAL_MQ_BATCHSIZE);
        if (!StringUtils.isEmpty(batchSize)) {
            mqProperties.setBatchSize(Integer.valueOf(batchSize));
        }
        String lingerMs = CanalController.getProperty(properties, CanalConstants.CANAL_MQ_LINGERMS);
        if (!StringUtils.isEmpty(lingerMs)) {
            mqProperties.setLingerMs(Integer.valueOf(lingerMs));
        }
        String maxRequestSize = CanalController.getProperty(properties, CanalConstants.CANAL_MQ_MAXREQUESTSIZE);
        if (!StringUtils.isEmpty(maxRequestSize)) {
            mqProperties.setMaxRequestSize(Integer.valueOf(maxRequestSize));
        }
        String bufferMemory = CanalController.getProperty(properties, CanalConstants.CANAL_MQ_BUFFERMEMORY);
        if (!StringUtils.isEmpty(bufferMemory)) {
            mqProperties.setBufferMemory(Long.valueOf(bufferMemory));
        }
        String canalBatchSize = CanalController.getProperty(properties, CanalConstants.CANAL_MQ_CANALBATCHSIZE);
        if (!StringUtils.isEmpty(canalBatchSize)) {
            mqProperties.setCanalBatchSize(Integer.valueOf(canalBatchSize));
        }
        String canalGetTimeout = CanalController.getProperty(properties, CanalConstants.CANAL_MQ_CANALGETTIMEOUT);
        if (!StringUtils.isEmpty(canalGetTimeout)) {
            mqProperties.setCanalGetTimeout(Long.valueOf(canalGetTimeout));
        }
        String flatMessage = CanalController.getProperty(properties, CanalConstants.CANAL_MQ_FLATMESSAGE);
        if (!StringUtils.isEmpty(flatMessage)) {
            mqProperties.setFlatMessage(Boolean.valueOf(flatMessage));
        }
        String compressionType = CanalController.getProperty(properties, CanalConstants.CANAL_MQ_COMPRESSION_TYPE);
        if (!StringUtils.isEmpty(compressionType)) {
            mqProperties.setCompressionType(compressionType);
        }
        String acks = CanalController.getProperty(properties, CanalConstants.CANAL_MQ_ACKS);
        if (!StringUtils.isEmpty(acks)) {
            mqProperties.setAcks(acks);
        }
        String aliyunAccessKey = CanalController.getProperty(properties, CanalConstants.CANAL_ALIYUN_ACCESSKEY);
        if (!StringUtils.isEmpty(aliyunAccessKey)) {
            mqProperties.setAliyunAccessKey(aliyunAccessKey);
        }
        String aliyunSecretKey = CanalController.getProperty(properties, CanalConstants.CANAL_ALIYUN_SECRETKEY);
        if (!StringUtils.isEmpty(aliyunSecretKey)) {
            mqProperties.setAliyunSecretKey(aliyunSecretKey);
        }
        String transaction = CanalController.getProperty(properties, CanalConstants.CANAL_MQ_TRANSACTION);
        if (!StringUtils.isEmpty(transaction)) {
            mqProperties.setTransaction(Boolean.valueOf(transaction));
        }

        String producerGroup = CanalController.getProperty(properties, CanalConstants.CANAL_MQ_PRODUCERGROUP);
        if (!StringUtils.isEmpty(producerGroup)) {
            mqProperties.setProducerGroup(producerGroup);
        }

        for (Object key : properties.keySet()) {
            key = StringUtils.trim(key.toString());
            if (((String) key).startsWith(CanalConstants.CANAL_MQ_PROPERTIES)) {
                String value = CanalController.getProperty(properties, (String) key);
                String subKey = ((String) key).substring(CanalConstants.CANAL_MQ_PROPERTIES.length() + 1);
                mqProperties.getProperties().put(subKey, value);
            }
        }

        return mqProperties;
    }
private static MQProperties buildMQProperties ( Properties properties ) { MQProperties mqProperties = new MQProperties ( ) ; String servers = CanalController . getProperty ( properties , CanalConstants . CANAL_MQ_SERVERS ) ; if ( ! StringUtils . isEmpty ( servers ) ) { mqProperties . setServers ( servers ) ; } String retires = CanalController . getProperty ( properties , CanalConstants . CANAL_MQ_RETRIES ) ; if ( ! StringUtils . isEmpty ( retires ) ) { mqProperties . setRetries ( Integer . valueOf ( retires ) ) ; } String batchSize = CanalController . getProperty ( properties , CanalConstants . CANAL_MQ_BATCHSIZE ) ; if ( ! StringUtils . isEmpty ( batchSize ) ) { mqProperties . setBatchSize ( Integer . valueOf ( batchSize ) ) ; } String lingerMs = CanalController . getProperty ( properties , CanalConstants . CANAL_MQ_LINGERMS ) ; if ( ! StringUtils . isEmpty ( lingerMs ) ) { mqProperties . setLingerMs ( Integer . valueOf ( lingerMs ) ) ; } String maxRequestSize = CanalController . getProperty ( properties , CanalConstants . CANAL_MQ_MAXREQUESTSIZE ) ; if ( ! StringUtils . isEmpty ( maxRequestSize ) ) { mqProperties . setMaxRequestSize ( Integer . valueOf ( maxRequestSize ) ) ; } String bufferMemory = CanalController . getProperty ( properties , CanalConstants . CANAL_MQ_BUFFERMEMORY ) ; if ( ! StringUtils . isEmpty ( bufferMemory ) ) { mqProperties . setBufferMemory ( Long . valueOf ( bufferMemory ) ) ; } String canalBatchSize = CanalController . getProperty ( properties , CanalConstants . CANAL_MQ_CANALBATCHSIZE ) ; if ( ! StringUtils . isEmpty ( canalBatchSize ) ) { mqProperties . setCanalBatchSize ( Integer . valueOf ( canalBatchSize ) ) ; } String canalGetTimeout = CanalController . getProperty ( properties , CanalConstants . CANAL_MQ_CANALGETTIMEOUT ) ; if ( ! StringUtils . isEmpty ( canalGetTimeout ) ) { mqProperties . setCanalGetTimeout ( Long . valueOf ( canalGetTimeout ) ) ; } String flatMessage = CanalController . getProperty ( properties , CanalConstants . CANAL_MQ_FLATMESSAGE ) ; if ( ! StringUtils . isEmpty ( flatMessage ) ) { mqProperties . setFlatMessage ( Boolean . valueOf ( flatMessage ) ) ; } String compressionType = CanalController . getProperty ( properties , CanalConstants . CANAL_MQ_COMPRESSION_TYPE ) ; if ( ! StringUtils . isEmpty ( compressionType ) ) { mqProperties . setCompressionType ( compressionType ) ; } String acks = CanalController . getProperty ( properties , CanalConstants . CANAL_MQ_ACKS ) ; if ( ! StringUtils . isEmpty ( acks ) ) { mqProperties . setAcks ( acks ) ; } String aliyunAccessKey = CanalController . getProperty ( properties , CanalConstants . CANAL_ALIYUN_ACCESSKEY ) ; if ( ! StringUtils . isEmpty ( aliyunAccessKey ) ) { mqProperties . setAliyunAccessKey ( aliyunAccessKey ) ; } String aliyunSecretKey = CanalController . getProperty ( properties , CanalConstants . CANAL_ALIYUN_SECRETKEY ) ; if ( ! StringUtils . isEmpty ( aliyunSecretKey ) ) { mqProperties . setAliyunSecretKey ( aliyunSecretKey ) ; } String transaction = CanalController . getProperty ( properties , CanalConstants . CANAL_MQ_TRANSACTION ) ; if ( ! StringUtils . isEmpty ( transaction ) ) { mqProperties . setTransaction ( Boolean . valueOf ( transaction ) ) ; } String producerGroup = CanalController . getProperty ( properties , CanalConstants . CANAL_MQ_PRODUCERGROUP ) ; if ( ! StringUtils . isEmpty ( producerGroup ) ) { mqProperties . setProducerGroup ( producerGroup ) ; } for ( Object key : properties . keySet ( ) ) { key = StringUtils . trim ( key . toString ( ) ) ; if ( ( ( String ) key ) . startsWith ( CanalConstants . CANAL_MQ_PROPERTIES ) ) { String value = CanalController . getProperty ( properties , ( String ) key ) ; String subKey = ( ( String ) key ) . substring ( CanalConstants . CANAL_MQ_PROPERTIES . length ( ) + 1 ) ; mqProperties . getProperties ( ) . put ( subKey , value ) ; } } return mqProperties ; }
构造MQ对应的配置

@param properties canal.properties 配置
@return