package fi.otavanopisto.muikku.debug; import java.io.Serializable; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import javax.interceptor.Interceptor; import javax.interceptor.InvocationContext; @Interceptor @CDIDebug public class CDIDebugInterceptor implements Serializable { private static final long serialVersionUID = -8455795437241618598L; private static final int THRESHOLD = 30; private static CDIDebugRecorder cdiDebugCollector = new CDIDebugRecorder(); @PostConstruct public void postConstruct(InvocationContext ctx) { Object target = ctx.getTarget(); cdiDebugCollector.recordConstruct(target.getClass()); } @PreDestroy public void preDestroy(InvocationContext ctx) { cdiDebugCollector.recordDestroy(ctx.getTarget().getClass()); cdiDebugCollector.dumpRecords(THRESHOLD); } }