Files
unisa_prog_reti_javaee7_201…/test1_cdi/GeneralInterceptor.java

59 lines
1.3 KiB
Java

package test1_cdi;
/**
* Created by Giovanni on 27/04/2015.
*/
import javax.annotation.PostConstruct;
import javax.annotation.Priority;
import javax.inject.Inject;
import javax.interceptor.*;
import java.util.logging.Logger;
@Interceptor
@GeneralInterceptorA
@Priority(200)
public class GeneralInterceptor {
@Inject
private Logger logger;
@AroundConstruct
private void logConstruct(InvocationContext ic) throws Exception {
logger.info("XGLOG: Begin Constructor Interceptor");
try {
ic.proceed();
} finally {
logger.info("XGLOG: End Constructor Interceptor");
}
}
@PostConstruct
public void logPostConstruct (InvocationContext ic) throws Exception {
logger.info("XGLOG: Begin PostConstructor Interceptor");
try {
ic.proceed();
} finally {
logger.info("XGLOG: End PostConstructor Interceptor");
}
}
@AroundInvoke
public Object logMethod(InvocationContext ic) throws Exception {
logger.info("XGLOG: Begin " + ic.getTarget().toString() + " "+ ic.getMethod().getName()+ " Interceptor");
try {
return ic.proceed();
} finally {
logger.info("XGLOG: End " + ic.getTarget().toString() + " "+ ic.getMethod().getName() + " Interceptor");
}
}
}