Использую tomcat8, ubuntu 16.04, mogodb, при каждом запросе к моему сервлету, делается запрос к базе данных.
Создан отдельный класс, MongoClient - static поле класса, инициализируется в конструкторе:
private static MongoClient mongo;
public DatabaseHandler() {
mongo = new MongoClient("localhost", 27017);
}
В методах я использую этот клиент, но базу данных и коллекции беру каждый раз заново, или же также делаю статическими полями, без разницы:
public String getSomeData() {
...
MongoDatabase database = mongo.getDatabase("database_name");
MongoCollection<Document> collection = database.getCollection("coll_name");
...
}
В классе, откуда я обращаюсь к базе данных, создан экземпляр этого класса, и я в коде неоднократно обращаюсь к нему:
private static DatabaseHandler databaseHandler = new DatabaseHandler();
...
public void someMethod1() {
...
String a = databaseHandler.getSomeData();
...
}
...
public void someMethod2() {
...
String b = databaseHandler.getAnotherData();
...
}
...
В итоге получается вот что:
И это не полностью, таких строчек слишком много. В чём проблема? Так и должно быть? Как исправить? Спасибо заранее.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей