У меня есть фильтр дампера запросов, который я хочу активировать/деактивировать во время выполнения (используя пользовательскую конечную точку привода). Однако я не могу найти способ сделать это без перезапуска приложения. Мое текущее решение делает именно это:
@Configuration
public class AppConfigs {
@Value("${request.dumper.active:false}")
private Boolean dumpActive;
@Bean
public FilterRegistrationBean requestDumperFilter() {
FilterRegistrationBean registration = new FilterRegistrationBean();
Filter requestDumperFilter = new RequestDumperFilter();
registration.setFilter(requestDumperFilter);
registration.addUrlPatterns("/*");
registration.setEnabled(dumpActive);
return registration;
}
Теперь я хочу использовать что-то вроде этого:
@Component
public class RequestdumperEndpoint implements Endpoint<Boolean > {
@Autowired
private RequestDumperFilter requestDumperFilter;
public String getId() {
return "requestdumper";
}
public Boolean invoke() {
return requestDumperFilter.isEnabled();
}
public Boolean setEnabled(Boolean enabled) {
return requestDumperFilter.setEnabled(enabled);
}
Но очевидно, что в фильтре нет методов isEnabled и setEnabled.
Любые идеи, как я мог бы получить то, что мне нужно?