HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

锁分类

TimeFriends

8月月更

【小程序项目开发--京东商城】uni-app之自定义搜索组件(上)-- 组件UI

计算机魔术师

8月月更

【小程序项目开发-- 京东商城】uni-app之自定义搜索组件(中)-- 搜索建议

计算机魔术师

8月月更

Flomesh 发布 Pipy 0.50.0

Flomesh

【高并发】亿级流量场景下如何为HTTP接口限流?看完我懂了!!

冰河

并发编程 多线程 高并发 协程 异步编程

mysql 的索引分类 B + 和 hash 详解

浅羽技术

MySQL 索引 hash B+树 8月月更

MQ 的原理以及持久化

浅羽技术

MQ 消息队列 Activemq active 8月月更

数据仓库与数据中台最大的区别是什么?终于有人讲明白了

雨果

数据中台 数据仓库

电商出海,独立站小程序化能更好的连接人和应用

Speedoooo

小程序 移动开发 DTC 独立站 移动框架

实战 | 电商业务的性能测试(一): 必备基础知识

霍格沃兹测试开发学社

[JS入门到进阶] 手写裁剪图片的工具,并部署。一键裁剪掘金文章封面

HullQin

CSS JavaScript html 前端 8月月更

【Django | allauth】登录_注册_邮箱验证_密码邮箱重置

计算机魔术师

8月月更

BaaS助力区块链技术开启下一轮应用热潮

旺链科技

区块链 产业区块链 企业号九月金秋榜 BaaS平台

科普达人丨一图看懂安全组

阿里云弹性计算

防火墙 安全组 ECS

锁住它,快告诉我乐观锁与悲观锁的区别?

知识浅谈

8月月更

阿里云高庆瑞:如何快速搭建低成本高弹性的云上应用

阿里云弹性计算

应用 自动化运维 CloudOps 弹性伸缩

mysql的存储引擎详解

浅羽技术

MySQL 存储引擎 MySQL InnoDB memory Store 8月月更

悲观锁和乐观锁的区别以及实现方式

浅羽技术

乐观锁 悲观锁 8月月更

长安链源码分析启动(6)

长安链

HMS Core基于地理位置请求广告,流量变现快人一步

HarmonyOS SDK

广告sdk

前后端数据接口协作提效实践

百度Geek说

Java 数据 企业号九月金秋榜

Mysql安装教程

楠羽

#开源

列存数据仓库怎样做才能更高效

jiangxl

京东云PostgreSQL在GIS场景的应用分享

京东科技开发者

postgresql 检索 jieba 京东云 信息检索

从项目经理过渡到ScrumMaster的三个技巧

ShineScrum捷行

Scrum 敏捷 ScrumMaster 项目经理

开源一夏 | count(列名)、 count(常量)、 count(*)区别

六月的雨在InfoQ

开源 count MySQL 数据库 MySQL InnoDB 8月月更

前端高频面试题(二)(附答案)

helloworld1024fd

JavaScript 前端

数字藏品app开发:nft数字藏品是什么?怎么制作和出售?

开源直播系统源码

数字藏品 数字藏品软件开发 数字藏品源码出售 数字藏品开发 数字藏品系统

流支付时代的Zebec,将打开Web3支付的大门?

西柚子

vivo前端智能化实践:机器学习在自动网页布局中的应用

vivo互联网技术

机器学习 前端 网页布局

日拱算法:什么是“煎饼排序”?

掘金安东尼

算法 8月月更

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