Java运行时监控,第2部分: 编译后插装和性能监控 - 编程入门网
服务器指标(参见 参考资料)。即使您的 APM 供应商没有提供自动读取这个数据的功能,读完本篇文章之后您也会知道如何自行读取。
在下一个例子中,我将向一个称为 org.aa4h.ejb.HibernateService 的无状态会话的上下文 bean 中注入一个截取程序。EJB 3 截取程序的要求和依赖性都是相当小的: 接口:javax.interceptor.InvocationContext 注释:javax.interceptor.AroundInvoke 目标方法:任何一个名称里面有 public Object anyName(InvocationContext ic) 的方法 Java运行时监控,第2部分: 编译后插装和性能监控(4)时间:2011-02-13 IBM Nicholas Whitehead清单 2 展示了样例 EJB 的截取方法: 清单 2. EJB 3 截取程序方法
如 清单 1 一样,清单 2 包含一个大的插装集,一般不推荐使用,此处仅作为一个例子使用。清单 2 中有以下几点需要注意: @AroundInvoke 注释通过封装 EJB 调用而将方法标记为一个截取程序。 方法调用一直沿着栈传递调用,可能传递到最终目标,或到下一个截取程序。因此,要在调用该方法前确定度量基准,在调用后跟踪它。 传入跟踪方法的 InvocationContext 为截取程序提供全部有关调用的元数据,包括: 目标对象 目标方法名 所传递的参数 Java运行时监控,第2部分: 编译后插装和性能监控(5)时间:2011-02-13 IBM Nicholas Whitehead注意到这点是很重要的,因为该截取程序可以应用于很多不同的 EJB,因此要截取什么类型的调用是无法预知的。拥有一个可以从截取程序内部访问的元数据源是至关重要的:没有这个源的话,只能得到很少的关于被截取调用的信息;您的指标可以展示出很多有趣的趋势,但却无法明确它们所指的是哪个操作。 从插装的角度看,这些截取程序最有用之处在于您可以通过修改部署描述符而将它 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |