Suporte a CDI no JBoss 6 [RESOLVIDO]

1 resposta
sandokandias

Pessoal,

Estou tentando rodar uma simples web app com suporte a CDI no JBoss 6.

O servlet
package br.com.myapp.servlet;


import java.io.IOException;
import java.io.PrintWriter;

import javax.inject.Inject;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;

import br.com.myapp.cdi.MyBean;


@WebServlet( "/myServlet" )
public class MyServlet extends HttpServlet {

    @Inject
    private MyBean myBean;

    private static final long serialVersionUID = 1L;


    @Override
    public void service( ServletRequest request, ServletResponse response ) throws ServletException, IOException {

        PrintWriter out = response.getWriter();
        out.println( "<html>" );
        out.println( "<body>" );
        try {
            out.println( "CDI work successfull!" );
            out.println( myBean.sayHello() );
        }
        catch ( Exception e ) {
            out.println( "There was a problem of injecting the bean. " + e );
        }
        out.println( "</body>" );
        out.println( "</html>" );

    }
}
O bean:
package br.com.myapp.cdi;


import javax.inject.Named;


@Named
public class MyBean {

    public String sayHello() {

        return "Hello CDI!";
    }

}

No JBoss 6.0-Final, a app não sobe de forma alguma. Segundo a documentação do weld, basta adicionar o arquivo beans.xml no classpath. [url]http://docs.jboss.org/weld/reference/latest/en-US/html/environments.html#d0e5199[/url].

Mas no glassfish 3.1 roda fino... de prima, sem frescura...

Alguém já passou pelo mesmo problema ?

1 Resposta

sandokandias

Bom pessoal, anoiteceu não funfando, e amanheceu funfando. Eu havia colocado alguns jars em /default/lib do JBoss que estavam conflitando com a versão provider. Então finalizando, realmente não precisa de nenhuma dependência a mais para sua app, bastando ter o beans.xml no seu classpath.

Criado 23 de junho de 2011
Ultima resposta 24 de jun. de 2011
Respostas 1
Participantes 1