今天的调查任务是:
调查有关Error处理的内容。IM能否像Spring那样做一个环绕事件,一旦BL发生错误就会触发ERROR处理事件并记录日志。
调查结果:
intra-mart中可以使用seasar中的s2container部分(DIContainer和AOP)来实现异常处理(比如说After throwing advice)。
可以在dicon配置文件中进行设置,来对业务层目标类的目标方法进行监控,当目标方法发生异常时,按照拦截器配置(比如ThrowsInterceptor)来进行相应的异常处理。
以上调查结果主要参考了下述三部分的内容:
http://www.intra-mart.jp/products/document/IM61outline_en.pdf(第28页 )
http://s2container.seasar.org/2.4/ja/aop.html#ThrowsInterceptor
http://s2container.seasar.org/2.4/ja/DIContainer.html#aspectTag
备注:上午“搜遍”资料,没有找到专门讲error处理的文档,只有零星资料讲了点错误现象之类的:
iwp_iaf_error_guide_v70.pdf和error_guide_v61.pdf:主要介绍了使用IM过程中遇到的各种エラー現象、原因及解決办法
iwp_config_guide_v70.pdf 86-88页 介绍错误页
prog_guilde_javaee_v61.pdf 156页 数据库错误时调用触发函数
20090519追加说明:请参考下一篇文章《IM有自己的异常处理机制!》