@Around("execution(@ConfigureAgentEnabled void org.jmonitor..*Test.*())") public void aroundConfigureAgentEnabledPointcut(ProceedingJoinPoint joinPoint) throws Throwable { ConfigureAgentEnabled annotation = getAnnotation(ConfigureAgentEnabled.class, joinPoint); AgentConfigurationImpl mutableConfiguration = getMutableAgentConfiguration(); boolean previousValue = mutableConfiguration.isEnabled(); // set it to annotated value mutableConfiguration.setEnabled(annotation.value()); ConfigurationServiceImpl.getInstance().updateAgentConfiguration(mutableConfiguration); try { joinPoint.proceed(); } finally { // set it back to original value mutableConfiguration.setEnabled(previousValue); ConfigurationServiceImpl.getInstance().updateAgentConfiguration(mutableConfiguration); } }
@Around("execution(@ConfigureAgentStackTraceInitialDelayMillis void org.jmonitor..*Test.*())") public void aroundConfigureAgentStackTraceInitialDelayMillisPointcut( ProceedingJoinPoint joinPoint) throws Throwable { ConfigureAgentStackTraceInitialDelayMillis annotation = getAnnotation(ConfigureAgentStackTraceInitialDelayMillis.class, joinPoint); AgentConfigurationImpl mutableConfiguration = getMutableAgentConfiguration(); int previousValue = mutableConfiguration.getStackTraceInitialDelayMillis(); // set it to annotated value mutableConfiguration.setStackTraceInitialDelayMillis(annotation.value()); ConfigurationServiceImpl.getInstance().updateAgentConfiguration(mutableConfiguration); try { joinPoint.proceed(); } finally { // set it back to original value mutableConfiguration.setStackTraceInitialDelayMillis(previousValue); ConfigurationServiceImpl.getInstance().updateAgentConfiguration(mutableConfiguration); } }