public MongoClient createMongoClient()

in connectors/rocketmq-connect-mongo/src/main/java/org/apache/connect/mongo/replicator/MongoClientFactory.java [39:140]


    public MongoClient createMongoClient(ReplicaSetConfig replicaSetConfig) {
        StringBuilder sb = new StringBuilder();
        sb.append("mongodb://");
        if (StringUtils.isNotBlank(taskConfig.getMongoUserName())
            && StringUtils.isNotBlank(taskConfig.getMongoPassWord())) {
            sb.append(taskConfig.getMongoUserName());
            sb.append(":");
            sb.append(taskConfig.getMongoPassWord());
            sb.append("@");

        }
        sb.append(replicaSetConfig.getHost());
        sb.append("/");
        if (StringUtils.isNotBlank(replicaSetConfig.getReplicaSetName())) {
            sb.append("?");
            sb.append("replicaSet=");
            sb.append(replicaSetConfig.getReplicaSetName());
        }

        if (taskConfig.getServerSelectionTimeoutMS() > 0) {
            sb.append("&");
            sb.append("serverSelectionTimeoutMS=");
            sb.append(taskConfig.getServerSelectionTimeoutMS());
        }

        if (taskConfig.getConnectTimeoutMS() > 0) {
            sb.append("&");
            sb.append("connectTimeoutMS=");
            sb.append(taskConfig.getConnectTimeoutMS());
        }

        if (taskConfig.getSocketTimeoutMS() > 0) {
            sb.append("&");
            sb.append("socketTimeoutMS=");
            sb.append(taskConfig.getSocketTimeoutMS());
        }

        if (taskConfig.getSsl() || taskConfig.getTsl()) {
            sb.append("&");
            sb.append("ssl=");
            sb.append(true);
        }

        if (taskConfig.getTlsInsecure()) {
            sb.append("&");
            sb.append("tlsInsecure=");
            sb.append(true);
        }

        if (taskConfig.getTlsAllowInvalidHostnames()) {
            sb.append("&");
            sb.append("tlsAllowInvalidHostnames=");
            sb.append(true);
        }

        if (taskConfig.getSslInvalidHostNameAllowed()) {
            sb.append("&");
            sb.append("sslInvalidHostNameAllowed=");
            sb.append(true);
        }

        if (StringUtils.isNotBlank(taskConfig.getCompressors())) {
            sb.append("&");
            sb.append("compressors=");
            sb.append(taskConfig.getCompressors());
        }

        if (StringUtils.isNotBlank(taskConfig.getZlibCompressionLevel())) {
            sb.append("&");
            sb.append("zlibcompressionlevel=");
            sb.append(taskConfig.getZlibCompressionLevel());
        }

        if (taskConfig.getMaxConnectionIdleTime() > 0) {
            sb.append("&");
            sb.append("maxConnectionIdleTime=");
            sb.append(taskConfig.getMaxConnectionIdleTime());
        }

        if (taskConfig.getSocketKeepAlive()) {
            sb.append("&");
            sb.append("socketKeepAlive=");
            sb.append(true);
        }

        if (StringUtils.isNotBlank(taskConfig.getTrustStore())) {
            Properties properties = System.getProperties();
            properties.put("javax.net.ssl.trustStore", taskConfig.getTrustStore());
            logger.info("javax.net.ssl.trustStore: {}", taskConfig.getTrustStore());
        }

        if (StringUtils.isNotBlank(taskConfig.getTrustStorePassword())) {
            Properties properties = System.getProperties();
            properties.put("javax.net.ssl.trustStorePassword", taskConfig.getTrustStorePassword());
            logger.info("javax.net.ssl.trustStorePassword: {}", taskConfig.getTrustStorePassword());
        }

        logger.info("connection string :{}", sb.toString());
        ConnectionString connectionString = new ConnectionString(sb.toString());
        final MongoClient client = MongoClients.create(connectionString);
        return client;
    }