I would like to know if the approach I am following is the correct one and in that case how to solve the following causality.
I have a ManagedBean application for the distributed access of the NOSQL connections with the BD and a DAO that is responsible for managing the connections and their maintenance (here the @ManagedProperty bean is injected).
The problem arises when calling the dao to obtain the NOSQL connection, when making a new (...) the bean is not initialized since it needs to be initialized within the life cycle of JSF.
What would be the right approach?
@ApplicationScoped
@ManagedBean
public class FactoriaMongoDAO extends FactoriaDAO {
@ManagedProperty(value = "#{mongoConnector.client}")
MongoClient mongoClient;
public class xx{
FactoriaDAO.getInstancia().getPatientPlayerDAO();
}
@ManagedBean
public abstract class FactoriaDAO {
private static FactoriaDAO unicainstancia = null;
public FactoriaDAO(){}
public static FactoriaDAO getInstancia() {
if (unicainstancia == null) unicainstancia = new FactoriaMongoDAO( "xx");
return unicainstancia;
}
public abstract PatientPlayerDAO getPatientPlayerDAO();
}