AOP@Work: 用AspectJ进行性能监视,第2部分 - 编程入门网
. 检测常见 Web 故障
扩展库方面 有些时候,当我构建 Glassbox Inspector 时,需要让库方面更有可扩展性 。 在下面列出了一些可用的常见选项。其中一些选项我已经展示过了,它们都很有 用: 提供一个抽象切点以定义方面用在什么地方(例如,一个 scope() 定义)。 提供一个空的切点,必须为要使用的某个建议覆盖它(如在 清单 2 中的 AbstractOperationMonitor)。在许多情况下,少数的具体方面需要使用给定的 建议,因此有一个空的默认值更有用。像这样的模板切点有一个空的默认实现与 模板方面有一个空的默认实现很相像。 利用标志性接口表明方面应用于哪些类型。因为接口是继承的,所以这些类 型 的所有子类型都包括在内了。 利用 Java 5 注释表明方面应用于哪些类型和/或方法。这种方法使您可以细 化对方面应用领域的控制,可以按方法定义,以及包括类而不包括它的子类。 提供运行时行为配置,有测试一种功能是否启用的逻辑。例子请参阅 运行时 控制。 在应用程序中集成了这些扩展后,我就完成了对 Glassbox Inspector 监视 的 扩展(至少对于本文的目的 —— 本文结束的地方就是开放源码项目开始的地方 !)。我现在有了一个将应用程序性能按照逻辑组织到一起的有用视图,这样就 可以通过 web 应用程序中的请求用标准 JMX 客户机观察总体性能统计和错误。 对于有疑问的地方,我还可以深挖数据库或者 Web 服务的性能和可靠性。图 1 显示了在 Spring Petclinic、iBatis JPetstore 和 Duke 的 Bookstore Web 应 用程序例子中使用的 Glassbox Inspector 监视工具: 图 1. 使用中的完整监视基础架构的快照 AOP@Work: 用AspectJ进行性能监视,第2部分(11)时间:2011-09-07 IBM Ron Bodkin错误处理 在这之后,我将重点放到如何更容易地部署扩展的 Glassbox Inspector 监 视 基础架构上。迈向用于企业管理的基础架构的第一步是扩展 Glassbox Inspector 来实现错误隔离。传统上,开发人员尽可能保证像性能监视这样的功能不会产生 影响被监视应用程序的错误。不过,监视代码中未预料到的行为(如未预计到的 null 值、抛出异常的代理等)有时会在监视代码自身中产生错误。在这些情况 下 ,隔离 错误的能力可提高监视实现的健壮性。系统初始化时出现的问题可能造 成 错误隔离方面不能缓冲的错误,但是这种问题通常是立即发生的,并容易在开发 时捕获,使得它的风险降低了很多。 我的基 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |