MongoClientProvider
Definimos esta clase que contendrá la conexión a Mongodb
import com.avbravo.avbravoutils.JsfUtil;
import com.mongodb.MongoClient;
import java.util.logging.Logger;
import javax.annotation.PostConstruct;
import javax.ejb.ConcurrencyManagement;
import javax.ejb.ConcurrencyManagementType;
import javax.ejb.Lock;
import javax.ejb.LockType;
import javax.ejb.Singleton;
/**
*
* @author avbravo
*/
@Singleton
@ConcurrencyManagement(ConcurrencyManagementType.CONTAINER)
public class MongoClientProvider {
private static final Logger LOG = Logger.getLogger(MongoClientProvider.class.getName());
private MongoClient mongoClient = null;
@Lock(LockType.READ)
public MongoClient getMongoClient() {
if(mongoClient == null){
init();
}
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.addErrorMessage("init() " + e.getLocalizedMessage());
LOG.warning("MongoClientProvider init() "+e.getLocalizedMessage());
}
}
}
Last updated
Was this helpful?