TomCat JSF 2.0 Weld-servlet

5 respostas
S

Olá Pessoal,

Estou utilizando a implementação da especificação CDI JBoss weld-servlet num projeto JSF 2.0 que uso conexão via API JDBC puro. Entretanto, quando adiciono o jar weld-servlet.jar no meu projeto e crio o arquivo beans.xml na pasta META-INF da minha aplicação e mando o eclipse executa o aplicativo a seguinte mensagem de ERRO aparece:

type Exception report
[color=red]
message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception

root cause

java.lang.StackOverflowError
javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:216)[/color]

O erro completo vai em anexo.

Gostaria de uma ajuda que me pudesse encontrar a solução para este problema.

5 Respostas

diegonunes.sistema

Boa tarde simeao.

Você adicionou o .jar do Weld (weld-servlet) na pasta lib do seu tomcat?

Att,

S

sim coloquei

S

Diego Valeu,

Encontrei a origem do erro, estava faltando criar o arquivo faces-config.xml na pasta WEB-INF Do projeto

S
Agora realizo a injenção de dependencia no capusDAO, conforme abaixo, e o aplicativo não consegue injetar a variável.

CampusDAO:

@Inject

private Connection con;

Fabrica de Conexão:

public class ConnectionFactory {

private static Connection conexao;	

public ConnectionFactory(){	

System.out.println(cria conexao com a base de dados);

Context initCtx;

conexao = null;

try {

initCtx = new InitialContext();

Context envCtx;				

try {

envCtx = (Context) initCtx.lookup(java:comp/env);					

DataSource ds = (DataSource) envCtx.lookup(jdbc/ufraDB);

try {

conexao = ds.getConnection();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}				

} catch (NamingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}					

} catch (NamingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}			

}
@Produces
@RequestScoped
public static Connection getConnection(){
	return conexao;
}

}

giancds

Cara, tu fez mais alguma configuração/alteração para o problema inicial? Minha aplicação é muito parecida com a sua, utilizando Pool de conexões e tudo mais, e eu também obtive o mesmo StackOverFlowError. Tentei resolver como você fez, mas a criação do faces-config.xml não resolveu o meu problema…

Criado 25 de agosto de 2010
Ultima resposta 20 de out. de 2010
Respostas 5
Participantes 3