Problema com interceptor em EJB3

4 respostas
L

Olá Pessoal,

Estou com o seguinte problema: estou usando interceptor em um bean ejb3 meu. Eu criei uma classe auxiliar e dentro dela tem um método com a anotação @AroundInvoke e o método segue o modelo que está na especificação:

public class MinhaClasseInterceptadora
{
       @AroundInvoke
       public Object metodoInterceptador(InvocationContext invocation) throws Exception
       {
               System.out.println("interceptor funcionando....");
               return invocation.proceed();
       }
}

e no meu bean coloquei a anotção @Interceptors({MinhaClasseInterceptadora.class}) para a classe inteira:

@Interceptors({MinhaClasseInterceptadora.class})
public class MinhaClasseBean extends XXXBase implements XXXEndPoint
{
}

só que qndo um client acessa esse meu bean, não está chegando nenhuma chamada no meu interceptor, simplesmente está indo direto no método bean chamado.

já dei uma pesquisada na net sobre isso e todos os exemplos estão iguais ao meu. A unica diferença é o nome dos pacotes que nos exemplos são “javax.ejb.AroundInvoke”, “javax.ejb.InvocationContext” por exemplo e os meus estão são “javax.interceptor.AroundInvoke”, “javax.interceptor.InvocationContext”…

Alguém poderia me dizer se o problema está nesses nomes dos pacotes ou se estou esquecendo de configurar algo? Estou usando o jboss-4.2.0-GA como application server.

Agradeço desde já!

4 Respostas

T

mas vc ja tentou usar javax.ejb.AroundInvoke?

L

Tecnoage,

não tentei pq não aparece no auto-complete e pelo que eu axei na internet, esse pacotes ficam no j2ee.jar, só q esse jar nao tem nem no meu jboss nem no meu projeto. O jar que tem no jboss é o jboss-j2ee.jar e que já está no classpath do meu projeto, porém mesmo assim não aparece no autocomplete.

L

Pessoal,

alguém saberia me dizer em qual jar eu axo o pacote javax.ejb que tenha a anotação @AroundInvoke e @Interceptors por exemplo? pq eu dei mais uma pesquisada na net e até baixei o jar j2ee.jar, mas ele não tem esta anotação que preciso.

Obrigado! :smiley:

L

Olá Pessoal,

Consegui resolver este meu problema. Na interface que o meu Bean implementa estava faltando a anotação “@Remote” e com isso não estava funcionando. Só colocar ela que o interceptor rolou.

Faloww!!!

Criado 28 de novembro de 2007
Ultima resposta 30 de nov. de 2007
Respostas 4
Participantes 2