protected void logLatency(Latency latency, JoinPoint thisJoinPoint, ExceptionFactory ef) throws ReactiveAuditException { if (config.isStarted() && !config.isSuppressAudit() && isReactiveThread()) { final ReactiveAudit config = ReactiveAudit.config; final ReactiveAuditException e=ef.lazyException(); config.logIfNew(latency, e); if (config.isThrow()) // LOW, MEDIUM, HIGH ? throw e; } }
@Test @TolerateLatency("Direct call") public void directCall() { assertTrue(ReactiveAudit.config.isSuppressAudit()); }
@Override public void run() { assertTrue(ReactiveAudit.config.isSuppressAudit()); assertEquals(1, ReactiveAudit.config.getSuppress()); } };
@TolerateLatency @Override public void run() { assertTrue(ReactiveAudit.config.isSuppressAudit()); assertEquals(2, ReactiveAudit.config.getSuppress()); } };
@Test @TolerateLatency("Indirect call") public void indirectCall() { Runnable r = new Runnable() { @Override public void run() { assertTrue(ReactiveAudit.config.isSuppressAudit()); assertEquals(1, ReactiveAudit.config.getSuppress()); } }; r.run(); assertTrue(ReactiveAudit.config.isSuppressAudit()); assertEquals(1, ReactiveAudit.config.getSuppress()); }