如何在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来解决此问题。

如何防止这种情况?

回答:

要禁用ErrorPageFilterSpring Boot(已通过1.3.0.RELEASE测试),请在Spring配置中添加以下bean:

@Bean

public 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

回到顶部