Duvidas SEAM

0 respostas
L

Caros colegas,

estou tentando implementar um interceptor para um determinado método de um Backing Bean utilizando o Seam. Utilizei como exemplo um tutorial que se provou totalmente funcional para o interceptor de classe, porém quando tento a abordagem para o método ele não funciona.

link do tutorial:
http://www.redhat.com/docs/manuals/jboss/jboss-eap-4.2/doc/seam/Seam_Reference_Guide/Events_interceptors_and_exception_handling-Seam_interceptors.html

Definição da anotação :

@Target(ElementType.METHOD)

@Retention(RetentionPolicy.RUNTIME)

@Interceptors(nomeDaClass.class)

public @interface LoggedIn {}

Definição na assinatura da anotação:

@LoggedIn

@Interceptors(SeamInterceptor.class)

public void metodo(){

//implementação

}

Definição do interceptor

import javax.interceptor.AroundInvoke;
import javax.interceptor.InvocationContext;

public class LoggerInterceptor{

@AroundInvoke
public Object loggarInterceptor(InvocationContext invocationContext) throws Exception {  
	System.out.println("Before method execute...");
	System.out.println(invocationContext.getMethod().getName());
 	Object proceed = invocationContext.proceed();  
 	System.out.println("After method execute...");  
 	return proceed;
 }

}

Essas foram as únicas diferenças do tutorial. Note que mudei o tipo do target para method (como o tutorial sugere) e coloquei a assinatura da anotação da classe para o método desejado. Infelizmente ele não executa o método e não lança nenhuma exception.

estou usando :
JBoss 4.2.2.GA
seam 2.0.2.SP1
java 1.6

Alguém conseguiu fazer uma implementação funcional desse caso que possa compartilhar?

Criado 4 de março de 2009
Respostas 0
Participantes 1