写点什么

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

  • 2007-11-16
  • 本文字数:546 字

    阅读完需:约 2 分钟

面向方面编程思想(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 实现应用程序失败转移

2007-11-16 00:061165
用户头像

发布了 150 篇内容, 共 51.6 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

稳了github star突破9k即时通讯IM开源项目OpenIM版本发布-生产环境重点关注

Geek_1ef48b

彻底搞懂 select/poll/epoll,就这篇了!

C++后台开发

网络编程 linux开发 epoll select C++开发

走近分布式缓存Memcached

No Silver Bullet

memcached 分布式缓存 6月月更

Java—JVM II

武师叔

6月月更

uni-app进阶之模版语法与数据绑定【day7】

恒山其若陋兮

6月月更

Zookeeper入门基础

No Silver Bullet

zookeeper 6月月更

数据库每日一题---第16天:计算特殊奖金

知心宝贝

数据库 云计算 前端 后端 6月月更

【愚公系列】2022年06月 通用职责分配原则(六)-多态原则

愚公搬代码

6月月更

SDN系统方法 | 7. 叶棘网络

俞凡

架构 网络 sdn SDN系统方法

流计算中的死锁

Damon

6月月更

模拟红绿灯来看GetX的定向刷新

岛上码农

flutter ios 前端 安卓 6月月更

GNU/Linux知识库(1)- 历史和演变

冯亮

Linux DevOps GNU

Linux开发_Linux下进程编程

DS小龙哥

6月月更

flutter系列之:按比例缩放的AspectRatio和FractionallySizedBox

程序那些事

flutter 程序那些事 6月月更

【LeetCode】乘积小于 K 的子数组Java题解

Albert

LeetCode 6月月更

开源Star10K+数据库工具Beekeeper上手体验,免费够酷值得拥有!

MegaQi

数据库管理工具 6月月更 #开源项目体验

力扣每日一练之数组上篇Day1

京与旧铺

6月月更

FastCorrect:语音识别快速纠错模型丨RTC Dev Meetup

声网

语音识别 RTC Dev Meetup

使用统计数据消除生活中的无谓

宇宙之一粟

贝叶斯公式 6月月更

vue动态路由

小恺

6月月更

成为架构师需要点亮哪些知识树

奔向架构师

数据仓库 架构师 6月月更

学生管理系统的考试试卷存储方案

爱晒太阳的大白

颠覆Web2 社交媒体,Liberty 计划在波卡上找到了归宿

One Block Community

区块链 科技

统一返回结果

卢卡多多

返回值 6月月更

什么是 IPv6?IPv6有哪些优势?

wljslmz

ipv6 IP地址 网络技术 6月月更

Vue-13-Vif和Vshow的区别

Python研究所

6月月更

JavaScript基础语法知识遨游记

未见花闻

6月月更

市场冷空气来袭,SeekTiger如何逆流而上?

鳄鱼视界

HashSet与WeakHashMap的理解

源字节1号

Docker进阶(一):docker -v目录挂载

No Silver Bullet

Docker 6月月更

NodeJS 读写文件 🎠

德育处主任

node.js 6月月更

文章:使用AOP实现应用程序失败转移_Java_宋玮_InfoQ精选文章