gpt4 book ai didi

java - 监控java请求

转载 作者:行者123 更新时间:2023-11-30 08:26:53 25 4
gpt4 key购买 nike

有没有办法识别进程当前是否正在运行,并定义它在被触发时已经运行了多长时间?

例如,我对名为 getFirstName() 的方法进行了网络服务/网络应用程序调用,该方法调用了数据库以检索名称。就在这之前,我有一个 AOP 建议方法拦截器,它将拦截方法 getFirstName()。现在在拦截器中我会记录这个请求的开始时间然后继续实际的方法,如果请求已经运行了很长时间,现在我需要触发一封邮件给用户。所以我如何跟踪这个请求时间?我不想使用任何线程来避免复杂性,有没有简单的方法可以做到这一点?

谢谢!

最佳答案

你可以自己组织。在 getFirstName() 你
有一些操作/ Action 的顺序正在完成。

要么

1)getFirstName() 必须以某种方式轮询它自己的状态(因为
你说你不想让另一个进程/线程监视它)。但是这个
听起来很奇怪而且更难做。另外,如果
getFirstName() 调用一些长时间运行的操作,然后轮询将
不工作(因为 getFirstName() 当前正忙于其他事情)。


或者

2)
另一个进程/线程可以检查 getFirstName() 进程的状态。
如果状态不是 DONE 并且经过了相当长的时间,
它会发出一封电子邮件。 getFirstName() 的职责
就是将其状态设置为完成,一旦完成并开始
一旦开始。此外,每个 getFirstName() 调用可能需要有
一些唯一的 ID。基本上就是这样。

关于java - 监控java请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21191941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com