Comment désactiver ErrorPageFilter dans Spring Boot?
Je suis de la création d'un SAVON service qui doit être en cours d'exécution sur Tomcat.
Je suis l'aide de Printemps de Démarrage de mon application, similaires à:
@Configuration
@EnableAutoConfiguration(exclude = ErrorMvcAutoConfiguration.class)
public class AppConfig {
}
Mon webservice (exemple):
@Component
@WebService
public class MyWebservice {
@WebMethod
@WebResult
public String test() {
throw new MyException();
}
}
@WebFault
public class MyException extends Exception {
}
Problème:
Chaque fois que je lance une exception au sein de la classe de service web, le message suivant est enregistré sur le serveur:
ErrorPageFilter: Ne peut pas avancer à la page d'erreur pour la demande
[/services/MyWebservice] que la réponse a déjà été commis.
En conséquence, la réponse peut avoir le mauvais code d'état. Si votre
l'application est en cours d'exécution sur WebSphere Application Server, vous pouvez être en mesure
pour résoudre ce problème par la mise en
com.ibm.ws.webcontainer.invokeFlushAfterService de faux
Question:
Comment puis-je éviter cela?
source d'informationauteur membersound
Vous devez vous connecter pour publier un commentaire.
Pour désactiver le
ErrorPageFilter
au Printemps de Démarrage (testé avec 1.3.0.La LIBÉRATION), ajoutez les haricots à votre configuration Spring:Le principe le plus simple moyen de le désactiver ErrorPageFilter est:
J'ai trouvé dans les sources que l'
ErrorPageFilter.java
a le code suivant:Comme vous pouvez le voir quand vous jetez une exception et de renvoyer une réponse code >= 400, il va faire un peu de code. il devrait y avoir un complément de vérifier si la réponse a déjà été commis ou non.
Le moyen de supprimer le ErrorPageFilter est comme ça
Chris