0
我有一个要求在运行时激活/停用(使用自定义执行器端点)的转储筛选器。但是我无法找到一种方法来重新启动应用程序。我目前的解决方案做到了这一点:Java Spring - 在运行时添加和删除筛选器
@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并在过滤器的方法。
任何想法如何能够得到我需要的东西?
上的东西[类似线(HTTP:/ /stackoverflow.com/a/6856036/1910582)可以有所帮助 –