gpt4 book ai didi

java - 如何在 Spring Boot 中禁用 ErrorPageFilter?

转载 作者:IT老高 更新时间:2023-10-28 13:49:04 24 4
gpt4 key购买 nike

我正在创建一个 SOAP应该在 Tomcat 上运行的服务。
我正在为我的应用程序使用 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: Cannot forward to error page for request [/services/MyWebservice] as the response has already been committed. As a result, the response may have the wrong status code. If your application is running on WebSphere Application Server you may be able to resolve this problem by setting com.ibm.ws.webcontainer.invokeFlushAfterService to false


问题:
我怎样才能防止这种情况发生?

最佳答案

要在 Spring Boot(使用 1.3.0.RELEASE 测试)中禁用 ErrorPageFilter,请将以下 bean 添加到您的 Spring 配置中:

@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;
}

关于java - 如何在 Spring Boot 中禁用 ErrorPageFilter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30170586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com