java 监听超时_Java接口响应超时监控

本文介绍了如何在Java中使用AOP和自定义注解实现接口响应超时的监控。通过在接口上添加注解设定超时时间,并在AOP切面中计算接口执行时间,对比超时时间,当接口超时时记录日志或发送邮件通知。这种方法可以在团队没有专用监控工具的情况下,帮助开发者自行监控接口性能。
摘要由CSDN通过智能技术生成

为什么要监控

服务化接口是提供服务的,接口正确性、稳定性是最最重要的,在保证正确的同时需要尽量提高接口响应时间。

有的团队会有专门的工具来对系统响应时间、吞吐量做监控,但如果团队没有这种“待遇”就需要自己来做一些工具为自己的代码提供服务。

自己动手,丰衣足食

AOP + Annotation 简陋实现,能达到目的

AOP : 使用环绕方式对接口拦截,在拦截接口前后记录时间最后计算用时

Annotation : 自定义注解在接口上设置超时时间(timeout)和超时是否发送邮件选项(emailIfTimeout)

通过对接口实际执行时间和配置的超时时间比较,系统可以计算出接口是否超时,此时可使用日志(或其他能通知到开发人员的方式)记录具体哪个接口、什么参数以及执行时间

注解可以提供更多的选项,来为自己接口服务,比如支持注解到类上,批量为接口设置了默认超时时间、支持日志中显示的处理方法名称 等等...

代码实施

接口Annotation定义

/**

* 接口自定义属性

*

* @author tianshu on 16/8/30 下午4:55.

*/

@Target(value = {ElementType.METHOD})

@Retention(RetentionPolicy.RUNTIME)

public @interface InterfaceProperty {

/**

* 接口超时时间,单位毫秒.默认值100毫秒

* @return 设置的超时时间

*/

int timeout() defa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值