Estoy desarrollando una aplicación Spring, y me preguntaba si existe una parte del framework que me permita hacer algo como esto de una manera más elegante, como configurar algo en XML.Thread.setDefaultUncaughtExceptionHandler en Spring
Respuesta
Si el propósito de su pregunta es establecer una costumbre UncaughtExceptionHandler
a través de su contexto de aplicación, puede utilizar:
<bean id="myhandler" class="java.lang.ThreadGroup">
<constructor-arg value="Test"/>
</bean>
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass" value="java.lang.Thread"/>
<property name="targetMethod" value="setDefaultUncaughtExceptionHandler"/>
<property name="arguments">
<list>
<ref bean="myhandler" />
</list>
</property>
</bean>
(NB reemplazar myhandler con un Thread.UncaughtExceptionHandler
de elección ...)
¿Esta es la "forma más elegante"? ¿Cómo es esto mejor que hacerlo en Java? – skaffman
Sin contexto, realmente no tengo una opinión sobre si es elegante o no, pero puedo ver el razonamiento de hacer esto en lugar de crear una clase Java separada solo para configurar el controlador de excepciones no detectadas al inicio. – beny23
Creo que esto es más elegante, ya que configurar el controlador forma parte de la configuración de la aplicación, que se supone que el control de la primavera está en control. – mogronalol
Usted también puede usar @ControllerAdvice
clases anotadas para el manejo de excepciones no detectadas. Al hacer referencia desde https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc, el siguiente código detectará cualquier excepción:
@ControllerAdvice
public class MyUncaughtExceptionHandler {
@ExceptionHandler(value = Exception.class)
public void defaultExceptionHandler(Exception e) {
// do whatever you want with the exception
}
}
- 1. Anotaciones de Spring Spring @RequestMapping
- 2. ProxyFactoryBean en Spring
- 3. MessageInterpolator en Spring
- 4. Validación en Spring MVC
- 5. ConversionService en Spring
- 6. Spring @Autowired en Servlet
- 7. validaciones condicionales en Spring
- 8. Formularios dinámicos en Spring
- 9. Spring Prototype Beans y beneficios de Spring
- 10. ¿Puedo usar Spring Social con Spring Security?
- 11. Spring Framework en términos simples
- 12. Spring tutorial en Session Management
- 13. Cómo manejar DataIntegrityViolationException en Spring?
- 14. Habilitación del registro en Spring
- 15. Uso de ModelMap en Spring
- 16. anotación @RequestMapping en Spring MVC
- 17. Spring y @Autowired en DelegatingFilterProxy
- 18. Perfil predeterminado en Spring 3.1
- 19. Configurando JDO en Spring 3.1?
- 20. ¿Puedo usar Spring en GAE?
- 21. Múltiple @PathVariable en Spring MVC
- 22. Spring ResultSetExtractor
- 23. Buscando un tutorial de OSGi con Spring (específicamente Spring MVC)
- 24. Spring @Transactional v Spring Security @ Comportamiento incoherente segmentado
- 25. Spring Hibernate Vs jdbc template vs spring orm
- 26. Desventajas del uso de Stripes + Spring vs Spring MVC
- 27. Spring 3.1 MVC, Spring Security 3.1 - CSRF token
- 28. Deshabilitar Spring Security desde el archivo spring-security.xml
- 29. hibernate-envers RevisionListener spring integration as spring bean
- 30. ¿Se puede usar Spring-WS 1.5 con Spring 3?
¿En qué contexto? ¿Qué problema real estás tratando de resolver? – skaffman
Lo siento, debería haber elaborado. En este caso, estoy escribiendo un controlador de excepción no capturado que escribe el seguimiento de la pila en mi archivo log4j. Si bien fue sencillo de implementar, me preguntaba si había una "forma de primavera" de hacer las cosas. – mogronalol