Customizable Handler 등록
- 작성자 :
- 박*석
- 작성일 :
- 2012-10-15 11:56:18
- 조회수 :
- 1,330
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
안녕하세요.항상수고가 많으십니다. 아래 예제중 문제가 발생하여 문의드립니다.
Customizable Handler 등록
시나리오 : CustomizableHandler 클래스를 만들어 보고 sample 패키지에 있는 Helloworld 클래스 Exception 시에 CustomizableHandler 를 실행한다.
먼저 CustomHandler 클래스를 아래와 같이 만든다.
ExceptionHandleManager 에서는 occur 메소드를 실행한다.
Handler 구현체는 반드시 (필수사항) ExceptionHandler Interface를 갖는다.
CustomizableHandler.java
public class CustomizableHandler implements ExceptionHandler {
protected Log log = LogFactory.getLog(this.getClass());
public void occur(Exception ex, String packageName) {
log.debug(" CustomHandler run...............");
try {
log.debug(" CustomHandler 실행 ... ");
} catch (Exception e) {
e.printStackTrace();
}
}
}CustomizableHandler 의 등록을 해보도록 하겠다.
역시서 주의해야 하는 부분은 patterns 에 sample 패키지에 있는 Helloworld 클래스 를 지정해주어야 한다.
<bean id="exceptionTransfer" class="egovframework.rte.fdl.cmmn.aspect.ExceptionTransfer">
<property name="exceptionHandlerService">
<list>
<ref bean="customizableExceptionHandleManager" />
</list>
</property>
</bean>
<bean id="customizableExceptionHandleManager"
class="egovframework.rte.fdl.cmmn.exception.manager.DefaultExceptionHandleManager">
<property name="patterns">
<list>
<value>**sample.Helloworld</value>
</list>
</property>
<property name="handlers">
<list>
<ref bean="customizableHandler1" />
<ref bean="customizableHandler2" />
<ref bean="customizableHandler3" />
</list>
</property>
</bean>
<bean id="customizableHandler1" class="sample.CustomizableHandler" />
<bean id="customizableHandler2" class="sample.CustomizableHandler" />
<bean id="customizableHandler3" class="sample.CustomizableHandler" />
이부분을 하고싶은데..
역시서 주의해야 하는 부분은 patterns 에 sample 패키지에 있는 Helloworld 클래스 를 지정해주어야 한다.
라고 써있어서..
어디 예제 소스가 있는모양인데 못찾겠어요.. 왜 저걸 패턴적용해줘야하는지
모르겠네요 ㅠㅠ
Customizable Handler 등록
시나리오 : CustomizableHandler 클래스를 만들어 보고 sample 패키지에 있는 Helloworld 클래스 Exception 시에 CustomizableHandler 를 실행한다.
먼저 CustomHandler 클래스를 아래와 같이 만든다.
ExceptionHandleManager 에서는 occur 메소드를 실행한다.
Handler 구현체는 반드시 (필수사항) ExceptionHandler Interface를 갖는다.
CustomizableHandler.java
public class CustomizableHandler implements ExceptionHandler {
protected Log log = LogFactory.getLog(this.getClass());
public void occur(Exception ex, String packageName) {
log.debug(" CustomHandler run...............");
try {
log.debug(" CustomHandler 실행 ... ");
} catch (Exception e) {
e.printStackTrace();
}
}
}CustomizableHandler 의 등록을 해보도록 하겠다.
역시서 주의해야 하는 부분은 patterns 에 sample 패키지에 있는 Helloworld 클래스 를 지정해주어야 한다.
<bean id="exceptionTransfer" class="egovframework.rte.fdl.cmmn.aspect.ExceptionTransfer">
<property name="exceptionHandlerService">
<list>
<ref bean="customizableExceptionHandleManager" />
</list>
</property>
</bean>
<bean id="customizableExceptionHandleManager"
class="egovframework.rte.fdl.cmmn.exception.manager.DefaultExceptionHandleManager">
<property name="patterns">
<list>
<value>**sample.Helloworld</value>
</list>
</property>
<property name="handlers">
<list>
<ref bean="customizableHandler1" />
<ref bean="customizableHandler2" />
<ref bean="customizableHandler3" />
</list>
</property>
</bean>
<bean id="customizableHandler1" class="sample.CustomizableHandler" />
<bean id="customizableHandler2" class="sample.CustomizableHandler" />
<bean id="customizableHandler3" class="sample.CustomizableHandler" />
이부분을 하고싶은데..
역시서 주의해야 하는 부분은 patterns 에 sample 패키지에 있는 Helloworld 클래스 를 지정해주어야 한다.
라고 써있어서..
어디 예제 소스가 있는모양인데 못찾겠어요.. 왜 저걸 패턴적용해줘야하는지
모르겠네요 ㅠㅠ
A
안녕하세요.. 박준석님..
문제가 발생하여 문의주셨다고 하셨는데..
오류가 아닌 단순히 왜 패턴을 등록해 주어야 하는지 말씀하시는 거죠??
이 패턴은 발생된 Exception이 어떤 클래스로 부터 왔는지 지정해 주는 것으로.. 필요 없으시면.. 패턴을 **.* 로 정의하시면 되실 것 같습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.
문제가 발생하여 문의주셨다고 하셨는데..
오류가 아닌 단순히 왜 패턴을 등록해 주어야 하는지 말씀하시는 거죠??
이 패턴은 발생된 Exception이 어떤 클래스로 부터 왔는지 지정해 주는 것으로.. 필요 없으시면.. 패턴을 **.* 로 정의하시면 되실 것 같습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.