gpt4 book ai didi

java - 在没有 Proxy 类的情况下使用方面注入(inject) InvocationHandlers

转载 作者:可可西里 更新时间:2023-11-01 15:39:45 25 4
gpt4 key购买 nike

我想创建一个类,该类使用日志信息(例如,前/后语句)代理对其父类(super class)的所有方法调用。

但是,使用此类的框架将通过新的 (..) 调用加载它,或者通过其他反射机制加载它,因此我无法使用代理语义来启动该类。

有没有办法让 new 和 newInstance() 操作在所有情况下都使用代理 - 或者我们是否必须使用代理 API 显式创建 InvocationHandler 类的实例?

具体来说:我正在调试一个分布式框架,它已经有自己的方式在运行时从 XML 文件创建类实例(hadoop - mapreduce)。

最佳答案

我认为您不能轻易地在 Java 中使用猴子补丁。我认为您可以尝试 AOP,或直接破解类(因为它是 hadoop,您将拥有源代码)。否则我认为反射或字节码修改可能是一种选择,但它们都会非常讨厌。直接破解类并使用破解的 jar 对我来说听起来是最直接的方法。

顺便说一句你好:)

关于java - 在没有 Proxy 类的情况下使用方面注入(inject) InvocationHandlers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18279397/

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