写点什么

文章:使用 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:061058
用户头像

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

关注

评论

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

万字图解 | 深入揭秘Linux 接收网络数据包

云舒编程

数据包 中断 网卡 linux\ ringbuffer

万字图解 | 深入揭秘TCP工作原理

云舒编程

三次握手 TCP协议 TCP四次挥手 MSL 滑动窗口

新书上线 | 《使用 NGINX 部署和保护 Kubernetes Ingress Controller》中文版

NGINX开源社区

nginx Kubernetes API NGINX Ingress Controller NGINX Service Mesh

万字图解| 深入揭秘IO多路复用

云舒编程

异步 epoll select poll I/O 多路复用

左耳听风 - 研发效率「读书打卡 day 16」

Java 工程师蔡姬

读书笔记 程序员 个人成长 研发效率 职业发现

WorkPlus AI智能客服解决方案,提升企业服务质量

BeeWorks

大数据处理流程包括哪些环节

悦数图数据库

大数据处理流程

软件测试学习笔记丨Grafana安装

测试人

软件测试

AppLink让你的电商运营财务管理自动化

RestCloud

零代码 APPlink 自动化集成

《幻兽帕鲁》爆火,大厂坐不住了:这游戏是 AI 设计的?丨 RTE 开发者日报 Vol.134

声网

如何让你的.NET WebAPI程序支持HTTP3?

不在线第一只蜗牛

Web 开发语言 http3 .NET 7

MySQL并发插入导致死锁

云舒编程

MySQL 并发 死锁

万字图解 | 深入揭秘HTTP工作原理

云舒编程

多路复用 HTTP web socket QUIC 图解网络

日志资源成本减少35%:新东方可观测体系改造如何降本增效?

TakinTalks稳定性社区

软件测试学习笔记丨JMeter使用代理录制脚本

测试人

软件测试

图像处理-Java-指定大小压缩

alexgaoyh

Java 图像处理 图像压缩 压缩算法 指定大小

原来阿里字节员工简历长这样

云舒编程

简历模板 简历 应届生 大厂面试】 #面试

解决跨域问题的8种方法,含网关、Nginx和SpringBoot~

王磊

Java 面试题

1688店铺详情数据接口python

tbapi

1688 1688API 1688店铺详情数据接口 1688店铺详情数据采集

英特尔实现3D先进封装技术的大规模量产

E科讯

Footprint 的卓越资金流数据揭示加密货币的神秘叙事

Footprint Analytics

区块链 数据分析 加密货币

实力认可!TDengine 在“2023 年度金猿季”两大榜单中脱颖而出

TDengine

tdengine 时序数据库

如何使用 NFTScan API 检索 NFT 合约地址下 Transactions 数据

NFT Research

API NFT\ NFTScan

有了这张微积分知识地图,你可能会爱上高数!

博文视点Broadview

近6成金融机构的选择!华为云GaussDB加快金融核心系统转型

华为云开发者联盟

数据库 后端 华为云 华为云GaussDB 华为云开发者联盟

支撑核心系统分布式改造,GaussDB为江南农商银行筑稳根基

华为云开发者联盟

数据库 分布式数据库 后端 华为云 华为云开发者联盟

这一年我们上线的运维自动化系统

37丫37

DevOps 运维 自动化 工具 开发.

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