首页 > 解决方案 > 在不使用 Aspects 的情况下跟踪 Spring 方法调用

问题描述

几天来,我陷入了一个(对我来说)非常具有挑战性的问题。

在我当前的项目中,我们有一个基于 SOA 的大型架构,我们的目标是监视和记录所有传入请求、调用的服务、调用的 DAO 及其结果。由于某些原因,我们不能使用方面,所以我们的想法是直接连接到 JavaVM 并观察发生了什么。

在我们的研究中,我们发现 Byteman 和 Bytebuddy 都使用 Java 机床接口来连接和注入代码到 VM 中。

仔细观察 Byteman,我们发现我们必须为每个操作类指定 Byteman-Operation,这在我们的例子中是不可能的。

是否有更好、更有效的方法来记录所有传入请求、调用的服务、调用的 DAO 及其结果?我们是否应该编写自己的连接到 JMTI 的代理?你们会推荐什么?

标签: javaspringspring-bootsoa

解决方案


我认为找出特定服务方法调用的方法可以重载。使用 APM 不是更简单更智能吗?


推荐阅读