Clase MongoClientProvider Web

Esta clase nos proporciona la conexión a una base de datos MongoDB, es recomendable establecer los controles de seguridad para acceso a la base de datos.

Si tienes configurado la autenticación de usuarios se debe quitar los comentarios del código e indicar los valores correspondientes.

import com.avbravo.avbravoutils.JsfUtil;
import javax.annotation.PostConstruct;
import javax.ejb.ConcurrencyManagement;
import javax.ejb.ConcurrencyManagementType;
import javax.ejb.Lock;
import javax.ejb.LockType;
import javax.ejb.Singleton;

import com.mongodb.MongoClient;

@Singleton
@ConcurrencyManagement(ConcurrencyManagementType.CONTAINER)
public class MongoClientProvider {

    private MongoClient mongoClient = null;

    @Lock(LockType.READ)
    public MongoClient getMongoClient() {
        return mongoClient;
    }

    @PostConstruct
    public void init() {
        try {

            /*
            String database="";
            String username="";
            String password="";
            String host="localhost";
            String port="27017";
            char[] charArray = password.toCharArray();
            MongoCredential credential = MongoCredential.createCredential(username, database, charArray);
            mongoClient = new MongoClient(new ServerAddress(host,port), Arrays.asList(credential));
             */
            mongoClient = new MongoClient();
        } catch (Exception e) {
            JsfUtil.errorMessage("init() " + e.getLocalizedMessage());
        }

    }

}

Last updated