当前位置: 首页 > 面试题库 >

如何在Spring Boot中禁用ErrorPageFilter?

田冥夜
2023-03-14
问题内容

我正在创建应在Tomcat上运行的SOAP服务。
我正在为我的应用程序使用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;
}


 类似资料:
  • 似乎Springboot自动配置自己来使用Tomcat的Logback。我想禁用它,并使用我在类路径中提供的一个。 LoggerFactory不是LoggerContext,但Logback位于类路径上。删除Logback或类[org.slf4j.impl.SimpleLoggerFactory]的竞争实现(类org.slf4j.impl.SimpleLoggerFactory)对象必须是类ch.

  • 问题内容: 使用杰克逊2.1,如何禁用错误消息似乎要禁用的消息? 我以为这只是世界上最简单的事情,但是该死了,它太迟了,我还没有找到一个简单的教程或任何特别明显的东西。?他们为什么要使它如此直观,然后使错误消息看起来如此简单? 尽管我 确实 喜欢该错误消息,但我的意思是,它比NPE更好。 我假设有一种使用注释的方法-但是我根本不希望将它们用于我正在做的简单工作! 问题答案: 我相信,您可以按班级或

  • 问题内容: 我创建了一个swings应用程序,并且GUI上有一个“开始”按钮。我希望每当我单击该“开始”按钮时,都应禁用开始按钮,并启用“停止”按钮。 为此,我在“开始”按钮的“ ActionPeformed(…)”方法中编写了以下代码 但是以上代码并未在GUI上产生所需的影响。 上面的代码对我想要做的正确吗? 它也不能与“ repaint()”一起使用。 编辑: 代码很长,所以我不能粘贴所有代码

  • 我试图在我的基于微服务的Spring启动应用程序中实现普罗米修斯,部署在weblogic服务器上。作为POC的一部分,我已经将配置作为一场战争的一部分。为了启用它,我在下面设置了配置- 应用属性 格拉德尔- 但执行器请求被现有的拦截器阻止。它要求在特定于我们项目的标题中传递值。通过postman(http:localhost:8080/abc/activator/prometheus),我可以测试

  • 问题内容: 注意:这旨在作为常见问题的规范答案。 我有一个带有字段()的Spring 类(),但是该字段是我尝试使用它时所用的。日志显示同时创建了bean和bean,但是每当尝试在服务bean上调用方法时,我都会得到一个。Spring为什么不自动接线该领域? 控制器类: 服务等级: 应该自动连接的服务bean,但不是: 当我尝试时,出现以下异常: 问题答案: 带注释的字段是因为Spring不知道您

  • 如何启用此处列出的ExecutorServiceMetrics? https://github.com/micrometer-metrics/micrometer/blob/master/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jvm/ExecutorServiceMetrics.java SpringB