InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

文章:使用AOP实现应用程序失败转移

作者 宋玮 发布于 2007年11月16日

领域
架构 & 设计,
语言 & 开发
主题
Java ,
AOP ,
方法论 ,
语言 ,
AspectJ ,
编程

面向方面编程思想(AOP)一度是公开论战的中心。Gavin King称之为完全言过其实、失败的技术,Cedric Beust也对其成为编程主流思想表示极大的怀疑,但他仍然标榜AOP是非常好的思想,只是仅有一小部分开发专家才能真正掌握。

文章作者以一个大金融机构在最后一刻修改了一些横切关注点(cross cutting concern)需求为例,展示AOP技术给现实中的JavaEE项目所带来诸多好处。文中描述的场景和最终实现的解决方案很好地展现了AOP如何弥补OOP在商务应用模块化方面的不足。

文章作者一直采用JavaEE技术在为一个大型金融机构开发证券交易后台解决方案,使用Oracle 10g RAC做为数据库集群(database cluster)、Websphere MQ为消息传送中间件。这个项目进入用户确认测试阶段(UAT phase)时,管理层要求在原有的集群构架上实现透明的应用程序失败转移(failover)服务。

传统解决方案是捕获每一个SQLException异常并加入特定的处理器去处理。但这个方案不得不被摒弃,因为在已经进入到用户验证测试阶段的情况下,这种方法会对代码库造成巨大恶劣的影响,而客户也截然不会乐意看到这些。经过对代码库进行慎重的分析之后,作者采用了AOP技术来解决这个问题,最终取得了非常好的效果,达到了将目前代码库所受影响最小化的目标。

阅读全文:使用AOP实现应用程序失败转移

宋玮 有多年软件开发经验,长期担任技术管理和项目管理工作,一直关心开源软件的发展动态以及软件过程和敏捷开发的实践探索。

把AOP作为对遗留系统打补丁的工具了 发表人 曹 云飞 发表于
  1. 返回顶部

    把AOP作为对遗留系统打补丁的工具了

    发表人 曹 云飞

    AOP的确有这个能力,但是这样来使用AOP是否有误导的嫌疑?