gpt4 book ai didi

java - 使用AOP和Guice 3在第三方代码中将 `new Socket()`重新定义为 `new Bar()`?

转载 作者:行者123 更新时间:2023-11-30 05:06:38 25 4
gpt4 key购买 nike

我遇到了一个新的 Guicified 应用程序使用供应商提供的网络通信库的情况,该库是很久很久以前编写的,我现在需要能够通过 ssh 提供的 SOCKS5 代理,并且它与独立应用程序中的系统属性“-DsocksProxyHost=127.0.0.1”。

不幸的是,这需要在影响其他事情的情况下运行,所以我想知道是否可以使用潜伏在 Guice 3 中的 AOP 来捕获对特定类中的 new Socket 的调用和/或在所述库中的所有类中并将它们转发到我自己的类,然后创建一个代理实例?

不幸的是,我不熟悉 AOP 实际上可以做什么,以及这是否是一个好主意。我应该如何处理这个问题?

最佳答案

Guice 中的 AOP 仅适用于 Guice 为您创建的对象(因此,在您的代码或库中,没有为 new X() 编写任何内容)。它还只能拦截方法调用(而不是构造函数调用),并且主要用于在方法调用之前和/或之后执行某些操作,而不是尝试完全更改方法调用。

关于java - 使用AOP和Guice 3在第三方代码中将 `new Socket()`重新定义为 `new Bar()`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4909048/

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