当我尝试按以下方式(original sample code)使用基于Hazelcast的JCache实现(即JSR 107)时,出现一个奇怪的警告:
// Explicitly retrieve the Hazelcast backed javax.cache.spi.CachingProvider
CachingProvider cachingProvider = Caching.getCachingProvider(name);
// Retrieve the javax.cache.CacheManager
CacheManager cacheManager = cachingProvider.getCacheManager("com.hazelcast.cache.impl.HazelcastCachingProvider");
这是记录的消息:
oct. 30, 2014 5:17:59 PM com.hazelcast.cache.impl.HazelcastCachingProvider
WARNING: Could not load client CachingProvider! Fallback to server one... java.lang.ClassNotFoundException: com.hazelcast.client.cache.impl.HazelcastClientCachingProvider
为什么要尝试加载
HazelcastClientCachingProvider
,我会要求输入com.hazelcast.cache.impl.HazelcastCachingProvider
。我使用了错误的JCache提供程序吗? 最佳答案
HazelcastCachingProvider只是自动选择基于客户端或基于服务器的CachingProvider的委托。
对于最近的3.4 SNAPSHOTS,HazelcastCachingProvider也已移至com.hazelcast.cache.HazelcastCachingProvider
。有关新文档,请参阅3.4的草拟文档版本:https://github.com/hazelcast/hazelcast/blob/master/hazelcast-documentation/src/JCache.md
您会看到它变得更长了:)