Соединение MongoDB-Java - Невозможно запросить коллекцию из программы Java, получая исключение сокета при создании объекта MongoCursor - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь запросить Mongocollection из программы Java.Соединение LDAP.Все выглядит хорошо, пока я не создаю объект MongoCursor.Но в строке, где создается объект MongoCursor, я получаю исключение сокета следующим образом:

ИНФОРМАЦИЯ: Закрытое соединение [connectionId {localValue: 2}] к "Host: Port", потому что был сокетисключение, вызванное этим соединением.

Проверка подлинности исключения сообщений MongoCredential {механизм = PLAIN, имя пользователя = 'uname', источник = 'имя_базы', пароль = скрытый, механизмПроцессы = {}}

Мне интересно, следую ли я правильному способу запроса коллекции, получения документов (здесь я использую критерии «создания даты»)

Вот то, что я пробовал до сих пор -

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import org.bson.Document;
import com.mongodb.BasicDBObject;
import com.mongodb.DBCursor;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;

public class MongoDBCon {
    private static Properties prop;
    private static FileInputStream fis;
    public static void main(String[] args) throws Exception {
    try {
        prop =  new Properties();
        fis = new FileInputStream(System.getProperty("user.dir")+"\\src\\config.properties");
        prop.load(fis);
        String user = prop.getProperty("username");
        String password = prop.getProperty("password");
        String host =prop.getProperty("host");
        String db = prop.getProperty("database");
        String col = prop.getProperty("collection");

        List<ServerAddress> seeds = new ArrayList<ServerAddress>();
        seeds.add( new ServerAddress( host));
        List<MongoCredential> credentials = new ArrayList<MongoCredential>();
        credentials.add(
            MongoCredential.createPlainCredential(user, db, password.toCharArray())
        );
        MongoClient mongo = new MongoClient( seeds, credentials );
        MongoDatabase database = mongo.getDatabase(db);
        MongoCollection<Document> collection = database.getCollection(col);
        BasicDBObject query=new BasicDBObject();
        query.put("createdDate","2018-10-30 03:21:05.226");
        MongoCursor<Document> cursor = collection.find(query).iterator();
        while (cursor.hasNext()) {
            System.out.println(cursor.next().toJson());
        }   
    }catch(Exception e) {
        System.out.println("Message-" + e.getMessage());
    }

    }

}

Может ли кто-нибудь помочь в этом?

...