gpt4 book ai didi

java - 如何覆盖大型 3rd 方 API 的一小部分?

转载 作者:行者123 更新时间:2023-12-01 14:02:17 26 4
gpt4 key购买 nike

我们正在使用商业分布式缓存框架。我们需要向我们企业内的其他商店提供使用此框架的能力,但我们需要保持对缓存名称的控制。该框架将愉快地创建/获取具有所请求的任何名称的缓存实例,但我们希望避免两个不同的应用程序团队无意中使用相同的缓存名称并最终引用相同的缓存。

理想情况下,我们有一个管理网站,用户可以在其中保留缓存名称,然后缓存创建过程将检查该网站后面的数据库,以确保所请求的缓存名称是他们保留的名称。

如果不使用我们自己的包装器包装整个第 3 方 API,有没有办法做到这一点?

我们可以对 CacheManager 进行子类化,覆盖创建方法,并指示它们使用我们的子类而不是原始类,但是什么会阻止他们只使用原始类呢?

最佳答案

一种方法是更改​​ API 源代码,使类和方法不可见并提供您自己的接口(interface)。如果是开源的,应该不是问题。如果购买了,供应商应该能够帮助您。

如果尝试直接加载任何 API 类(而不是通过重写类),第二种方法可能会在运行时失败。这可以通过创建自定义引导类加载器来完成,它将成为所有类加载请求的单一入口点。

关于java - 如何覆盖大型 3rd 方 API 的一小部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19261936/

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