[RESOLVIDO]Erro EJB

Olá amigos. Eu estava desenvolvendo uma aplicação com JSF com ajax e richfaces. Dai ontem me caiu a ficha de colocar o EJB também. MAASS… assim que coloquei o arquivo jsf não consegue enxergar a classe de dados e só enxerga o EJB que está no meio. Por exemplo tenho um metodo que me retorna uma lista de coisas. No JSP eu chamo o EJB que faz uma requisição ao meu DAO que por fim o DAO retorna uma List a qual não consigo obter de jeito nenhum no meu JSP. Diz o seguinte erro:

Grave: Servlet.service() for servlet [Faces Servlet] in context with path [/Ideas3] threw exception [/admin/listaSprint.jsp(20,5) '#{not empty sprintBean.sprints }' Error reading 'sprints' on type beans.SprintBean] with root cause.

Mas quando eu coloco o metodo de busca no EJB o JSP recebe os dados. Por isso não entendo, se eu chamo o metodo do DAO ele nem me retorna algo.

Ajudemm !!!

Opa, quase me esqueço: Aqui vão minhas classes DAO e EJB + o JSP:

Classe DAO:

[code]package dados;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.Stateless;
import javax.faces.component.UIData;
import javax.faces.event.ValueChangeEvent;

import util.ConexaoMySql;
import basicas.Sprint;
import basicas.Status;

@Stateless
public class SprintDAO {

private Sprint sprint = new Sprint();
private List<Sprint> sprints = new ArrayList<Sprint>();
private UIData objDataTableSprint;
ConexaoMySql con = new ConexaoMySql();

@SuppressWarnings("static-access")
public String salvar(Sprint sprint) {
	try {
		
		if(sprint.getId() > 0){
			con.conecta();
			con.executeSql("update sprint set nome = '" + sprint.getNome()
					+ "', descricao = '" + sprint.getDescricao()
					+ "', status = '" + sprint.getStatus()
					+ "' where id = " + sprint.getId());
		}else{
			con.conecta();
			con.executeSql("insert into sprint (nome, descricao, status) values ('"
					+ sprint.getNome()
					+ "', '"
					+ sprint.getDescricao()
					+ "', '" + sprint.getStatus() + "')");
		}
			
		
	} catch (Exception e) {
		System.out.println(e);
	} finally {
		con.fecharCon();
	}
	return null;

}

// public String alterar() {
// sprint = (Sprint) objDataTableSprint.getRowData();
// return "alterarSprint";
// }

//
// public List<Sprint> listarTodos() {
// return sprints;
// }

public Sprint getSprint() {
	return sprint;
}

public void setSprint(Sprint sprint) {
	this.sprint = sprint;
}
@SuppressWarnings("static-access")
public List<Sprint> getSprints() {
	sprints.clear();
	try {
		con.conecta();
		con.rs = con.executeSqlQuery("select * from sprint");
		while (con.rs.next()) {
			sprints.add(new Sprint(con.rs.getInt("id"), con.rs
					.getString("nome"), con.rs.getString("descricao"),
					con.rs.getString("status")));
		}
	} catch (Exception e) {
		System.out.println(e);
	} finally {
		con.fecharCon();
	}
	return sprints;
}

public void setSprints(List<Sprint> sprints) {
	this.sprints = sprints;
}

@SuppressWarnings("static-access")
public void valueChangeMethod(ValueChangeEvent e, UIData objDataTableSprint) {
	sprint = (Sprint) objDataTableSprint.getRowData();
	System.out.println(sprint.getStatus());
	
	try{
	con.conecta();
	con.executeSql("update sprint set status = '" + e.getNewValue().toString()
			+ "' where id = " + sprint.getId());
	}catch(Exception ex){
		System.out.println(ex);
	}finally{
		con.fecharCon();
	}
}

public String outcome(){
	return "result";
}

public String limpar() {
	sprint = new Sprint();
	return null;
}

}
[/code]

Classe EJB:

[code]package beans;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import javax.ejb.EJB;
import javax.faces.component.UIData;

import javax.faces.event.ValueChangeEvent;

import util.ConexaoMySql;

import dados.SprintDAO;
import basicas.Sprint;
import basicas.Status;

public class SprintBean {

@EJB
private SprintDAO sprintDAO;
private Sprint sprint = new Sprint();
private UIData objDataTableSprint;
private List<Sprint> sprints = new ArrayList<Sprint>();

public String salvar(Sprint sprint) {
	return sprintDAO.salvar(sprint);
}

public List<Sprint> getSprints() {
	
	return sprintDAO.getSprints();
}

public void setSprints(List<Sprint> sprints) {
	this.sprints = sprints;
}

public void valueChangeMethod(ValueChangeEvent e, UIData objDataTableSprint) {
	sprintDAO.valueChangeMethod(e, objDataTableSprint);
}

public Sprint getSprint() {
	return sprint;
}

public void setSprint(Sprint sprint) {
	this.sprint = sprint;
}

public UIData getObjDataTableSprint() {
	return objDataTableSprint;
}

public void setObjDataTableSprint(UIData objDataTableSprint) {
	this.objDataTableSprint = objDataTableSprint;
}

public String limpar() {
	sprint = new Sprint();
	return null;
}

public SprintDAO getSprintDAO() {
	return sprintDAO;
}

public void setSprintDAO(SprintDAO sprintDAO) {
	this.sprintDAO = sprintDAO;
}

}
[/code]

A PArte do JSP que ele ta mostrando o erro:

<r:dataTable id="sprint" border="1" value="#{sprintBean.sprints }" var="s" rendered="#{not empty sprintBean.sprints }" rows="10" binding="#{sprintBean.objDataTableSprint }">

Resolvido Meus Camaradas. Besteira minha, não fiz a instancia da classe DAO direito. Abraçso e obrigado!