如何在Spring Boot中禁用ErrorPageFilter?
我正在创建应在Tomcat上运行的SOAP服务。
我正在为我的应用程序使用Spring Boot" title="Spring Boot">Spring Boot,类似于:
@Configuration@EnableAutoConfiguration(exclude = ErrorMvcAutoConfiguration.class)
public class AppConfig {
}
我的网络服务(示例):
@Component@WebService
public class MyWebservice {
@WebMethod
@WebResult
public String test() {
throw new MyException();
}
}
@WebFault
public class MyException extends Exception {
}
每当我在webservice类中引发异常时,服务器上都会记录以下消息:
ErrorPageFilter:由于响应已提交,因此无法转发到请求[/ services /
MyWebservice]的错误页面。结果,响应可能具有错误的状态代码。如果您的应用程序在WebSphere Application
Server上运行,则可以通过将com.ibm.ws.webcontainer.invokeFlushAfterService设置为false来解决此问题。
如何防止这种情况?
回答:
要禁用ErrorPageFilter
Spring Boot(已通过1.3.0.RELEASE测试),请在Spring配置中添加以下bean:
@Beanpublic ErrorPageFilter errorPageFilter() {
return new ErrorPageFilter();
}
@Bean
public FilterRegistrationBean disableSpringBootErrorFilter(ErrorPageFilter filter) {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setFilter(filter);
filterRegistrationBean.setEnabled(false);
return filterRegistrationBean;
}
以上是 如何在Spring Boot中禁用ErrorPageFilter? 的全部内容, 来源链接: utcz.com/qa/427838.html