@AroundInvoke
	public Object intercept(InvocationContext context) throws Exception { // NOPMD
		// cette méthode est appelée par le conteneur ejb grâce à l'annotation AroundInvoke
		if (DISABLED || !EJB_COUNTER.isDisplayed()) {
			return context.proceed();
		}
		// nom identifiant la requête
		final String requestName = getRequestName(context);

		boolean systemError = false;
		try {
			EJB_COUNTER.bindContextIncludingCpu(requestName);
			return context.proceed();
		} catch (final Error e) {
			// on catche Error pour avoir les erreurs systèmes
			// mais pas Exception qui sont fonctionnelles en général
			systemError = true;
			throw e;
		} finally {
			// on enregistre la requête dans les statistiques
			EJB_COUNTER.addRequestForCurrentContext(systemError);
		}
	}
@Test
	public void testMonitoringTarget() throws Exception {
		final Counter ejbCounter = MonitoringProxy.getEjbCounter();
		ejbCounter.clear();
		final MonitoringTargetInterceptor interceptor = new MonitoringTargetInterceptor();

		ejbCounter.setDisplayed(true);
		interceptor.intercept(new InvokeContext(false));
		assertSame("requestsCount", 1, ejbCounter.getRequestsCount());
	}