스프링 애플리케이션을 개발 중입니다. 프레임 워크에서 XML로 구성하는 것과 같이 좀 더 우아한 방식으로 처리해 줄 수 있는지 궁금합니다. 질문의 목적은 당신의 애플리케이션 컨텍스트를 통해 사용자 정의 UncaughtExceptionHandler
을 설정하는 경우Spring의 Thread.setDefaultUncaughtExceptionHandler
답변
, 당신은 사용할 수 있습니다
이<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>
이것은 "더 우아한 방법"입니까? 자바로하는 것보다이게 낫지? – skaffman
컨텍스트가 없으면 나는 그것이 우아한 것인지 아닌지에 대한 의견을 정말로 얻지는 못했지만, 시작과 동시에 잡히지 않는 예외 핸들러를 설정하기 위해 별도의 Java 클래스를 생성하는 대신 이것을 수행하는 이유를 알 수 있습니다. – beny23
핸들러를 설정하는 것이 스프링이 제어를 중지해야하는 응용 프로그램 구성의 일부이기 때문에 이것이 더 우아하다고 생각합니다. – mogronalol
당신을 (NB는 ... 선택의 Thread.UncaughtExceptionHandler
에 myHandler가 대체) 또한 캐치되지 않는 예외 처리를 위해 @ControllerAdvice
주석이있는 클래스를 사용할 수 있습니다. https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc에서 다음 코드를 참조하면 예외를 catch합니다.
@ControllerAdvice
public class MyUncaughtExceptionHandler {
@ExceptionHandler(value = Exception.class)
public void defaultExceptionHandler(Exception e) {
// do whatever you want with the exception
}
}
- 1. Java의 Thread.setDefaultUncaughtExceptionHandler()와 동일한 C#입니까?
- 2. Spring의 ProxyFactoryBean
- 3. Spring의 MessageInterpolator
- 4. Spring의 Dojo 캐싱 문제
- 5. 개행과 Spring의 SimpleUrlHandlerMapping
- 6. JPA와 Spring의 통합 테스트
- 7. @ModelAttribute 및 Spring의 @SessionAttribute
- 8. EJB3와 Spring의 통합
- 9. Spring의 동적 Apache log4j
- 10. Spring의 다중 빈 인스턴스
- 11. Hibernate와 Spring의 설정 문제
- 12. Spring의 HibernateTemplate에 반환 값
- 13. Spring의 사용자 정의 json
- 14. Spring의 의존성 삽입
- 15. Spring의 AuthenticationProcessingFilter 오버라이드
- 16. Spring의 @ManagedOperation 이름 JMX
- 17. "Spring의 'sessionFactory'속성이 필요합니까?
- 18. Spring의 SimpleNamingContextBuilder 및 LDAP
- 19. Spring의 Hibernate 객체들
- 20. Spring의 명령어 객체
- 21. Spring의 SimpleFormController와 다른 뷰
- 22. Spring의 @RequestMapping internals
- 23. JMS 및 Spring의 테스트
- 24. Spring의 애플리케이션 컨텍스트는 무엇을합니까?
- 25. Spring의 JTA 콜백
- 26. Spring의 미디어 유형 처리
- 27. 비즈니스 로직을위한 Spring의 인터셉터 사용하기
- 28. Spring의 @RequestBody 및 @RequestParam을 배우기
- 29. Spring의 LoadTimeWeaver 에이전트가 시작되지 않습니다.
- 30. JTA와 Spring의 차이 @ 트랜잭션 주석
어떤 컨텍스트에서? 실제 문제는 무엇을 해결하려고합니까? – skaffman
미안하지만 정교해야합니다. 이 경우 스택 추적을 log4j 파일에 쓰는 캐치되지 않는 예외 처리기를 작성하고 있습니다. 구현하는 동안 나는 일을하는 "봄의 길"이 있는지 궁금해하고있었습니다. – mogronalol