gpt4 book ai didi

java - JCache 的 Spymemcached 的完全限定名称

转载 作者:行者123 更新时间:2023-11-30 03:05:19 27 4
gpt4 key购买 nike

我们正在尝试以这样的方式实现 JCache,以便我们可以轻松地交换任何符合 JSR-107 的缓存提供程序。我们使用 Spring,我们的 CachingProvider Bean 如下所示:

@Bean
public CachingProvider cachingProvider() {
CachingProvider cachingProvider = Caching.getCachingProvider(env.getProperty("jcache.provider.fullyQualifiedName"));
return cachingProvider;
}

这允许我们通过在属性文件中添加完全限定名称以及将 jar 添加到类路径来交换我们想要的任何兼容缓存。目前,为了实现 Hazelcast,我们的配置文件如下所示:

jcache.provider.fullyQualifiedName=com.hazelcast.cache.HazelcastCachingProvider

但是,我想为此实现spymemcached,但我无法找到它的完全限定名称(或任何其他符合 JSR-107 的实现)。

所以我的问题是有人知道 Spymemchaced 或任何其他符合 JSR-107 的缓存提供程序的完全限定名称吗?我用谷歌搜索了又搜索,但还是找不到任何结果。

最佳答案

如果您想通过添加不同的 jar 来切换缓存提供程序,最好的答案是:就这么做吧!您不需要为此进行任何额外配置。

您只能使用Caching.getCachingProvider()。这将返回您添加到应用程序(位于类路径中)的 JSR107 兼容缓存提供程序。其内部使用的是服务提供者接口(interface)机制,参见:https://docs.oracle.com/javase/tutorial/sound/SPI-intro.html

当您想要同时在一个应用程序中使用不同的缓存提供程序时,情况会变得更加复杂。您可以查看 jar 文件中的 spi 文件,正如 Ben 在评论中建议的那样,或者您可以通过 Caching.getCachingProviders() 迭代它们。要获取完全限定名称,请使用 getClass().getName() 打印类名称。

关于java - JCache 的 Spymemcached 的完全限定名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34951932/

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