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.
Copy 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());
}
}
}