Controller단의 Exception Handling 문의
- 작성자 :
- 타*
- 작성일 :
- 2019-07-02 16:13:39
- 조회수 :
- 2,111
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
공통컴포넌트에서 Exception Handling 테스트를 하고 있습니다.
context-aspect.xml파일을 아래의 설정(기본설정)으로 서비스단의 오류는 egov.exceptionTransfer bean에서 잘 잡습니다.
<aop:config>
<aop:pointcut id="egov.serviceMethod" expression="execution(* egovframework.com..impl.*Impl.*(..))" />
<aop:aspect ref="egov.exceptionTransfer">
<aop:after-throwing throwing="exception" pointcut-ref="egov.serviceMethod" method="transfer" />
</aop:aspect>
</aop:config>
<bean id="defaultExceptionHandleManager" class="egovframework.rte.fdl.cmmn.exception.manager.DefaultExceptionHandleManager">
<property name="reqExpMatcher">
<ref bean="egov.antPathMater"/>
</property>
<property name="patterns">
<list>
<value>**service.impl.*</value>
</list>
</property>
<property name="handlers">
<list>
<ref bean="egovHandler" />
</list>
</property>
</bean>
그런데 설정을 아래와 같이 변경하면 잡지를 못하는데 이유를 알수가 없네요
혹시 다른 설정이 더 있나요?
pointcut과 patterns만 수정했습니다.
테스트 클래스는 egovframework.com.sym.ccm.ccc.web.EgovCcmCmmnClCodeManageController로 하고 있습니다.
<aop:config>
<aop:pointcut id="egov.serviceMethod" expression="execution(* egovframework.com..web.*.*(..))" />
<aop:aspect ref="egov.exceptionTransfer">
<aop:after-throwing throwing="exception" pointcut-ref="egov.serviceMethod" method="transfer" />
</aop:aspect>
</aop:config>
<bean id="defaultExceptionHandleManager" class="egovframework.rte.fdl.cmmn.exception.manager.DefaultExceptionHandleManager">
<property name="reqExpMatcher">
<ref bean="egov.antPathMater"/>
</property>
<property name="patterns">
<list>
<value>**web.*</value>
</list>
</property>
<property name="handlers">
<list>
<ref bean="egovHandler" />
</list>
</property>
</bean>
감사합니다.
context-aspect.xml파일을 아래의 설정(기본설정)으로 서비스단의 오류는 egov.exceptionTransfer bean에서 잘 잡습니다.
<aop:config>
<aop:pointcut id="egov.serviceMethod" expression="execution(* egovframework.com..impl.*Impl.*(..))" />
<aop:aspect ref="egov.exceptionTransfer">
<aop:after-throwing throwing="exception" pointcut-ref="egov.serviceMethod" method="transfer" />
</aop:aspect>
</aop:config>
<bean id="defaultExceptionHandleManager" class="egovframework.rte.fdl.cmmn.exception.manager.DefaultExceptionHandleManager">
<property name="reqExpMatcher">
<ref bean="egov.antPathMater"/>
</property>
<property name="patterns">
<list>
<value>**service.impl.*</value>
</list>
</property>
<property name="handlers">
<list>
<ref bean="egovHandler" />
</list>
</property>
</bean>
그런데 설정을 아래와 같이 변경하면 잡지를 못하는데 이유를 알수가 없네요
혹시 다른 설정이 더 있나요?
pointcut과 patterns만 수정했습니다.
테스트 클래스는 egovframework.com.sym.ccm.ccc.web.EgovCcmCmmnClCodeManageController로 하고 있습니다.
<aop:config>
<aop:pointcut id="egov.serviceMethod" expression="execution(* egovframework.com..web.*.*(..))" />
<aop:aspect ref="egov.exceptionTransfer">
<aop:after-throwing throwing="exception" pointcut-ref="egov.serviceMethod" method="transfer" />
</aop:aspect>
</aop:config>
<bean id="defaultExceptionHandleManager" class="egovframework.rte.fdl.cmmn.exception.manager.DefaultExceptionHandleManager">
<property name="reqExpMatcher">
<ref bean="egov.antPathMater"/>
</property>
<property name="patterns">
<list>
<value>**web.*</value>
</list>
</property>
<property name="handlers">
<list>
<ref bean="egovHandler" />
</list>
</property>
</bean>
감사합니다.
A
안녕하세요.
표준프레임워크센터 입니다.
공통컴포넌트를 예로들면
web.xml에 선언을 확인해 보면
다음과 같이 선언된 부분을 확인할수 있습니다.
/WEB -INF/config/egovframework/springmvc/egov-com-*.xml
그리고 다음 부분도 확인할수 있습니다.
classpath*:egovframework/spring/com/**/context-*.xml
context-common.xml에서 Controller를 제외한 빈을 스캔하고
egov-com-servlet.xml에서 비로소 Controller를 스캔합니다.
이 정의의 의미는 각각의 WebApplication의 영역과
Applicationcontext를 구분하고 있습니다.
따라서 AOP의 설정도 영향을 받았을 것으로 보입니다.
Controller에서의 익셉션핸들러 처리는
다음 예제를 참고하실수 있습니다.
확인해 보시기 바랍니다.
http://www.egovframe.go.kr/cop/bbs/s electBoardArticle.do?nttId=747&bbsId=BBSMSTR_000000000001&menu=2
감사합니다.
표준프레임워크센터 입니다.
공통컴포넌트를 예로들면
web.xml에 선언을 확인해 보면
다음과 같이 선언된 부분을 확인할수 있습니다.
/WEB -INF/config/egovframework/springmvc/egov-com-*.xml
그리고 다음 부분도 확인할수 있습니다.
classpath*:egovframework/spring/com/**/context-*.xml
context-common.xml에서 Controller를 제외한 빈을 스캔하고
egov-com-servlet.xml에서 비로소 Controller를 스캔합니다.
이 정의의 의미는 각각의 WebApplication의 영역과
Applicationcontext를 구분하고 있습니다.
따라서 AOP의 설정도 영향을 받았을 것으로 보입니다.
Controller에서의 익셉션핸들러 처리는
다음 예제를 참고하실수 있습니다.
확인해 보시기 바랍니다.
http://www.egovframe.go.kr/cop/bbs/s electBoardArticle.do?nttId=747&bbsId=BBSMSTR_000000000001&menu=2
감사합니다.