Я должен получить реализацию интерфейса Spring Cache, которая работает с Coherence. Насколько я могу исследовать, такая реализация не обеспечивается Spring или Coherence (как и для ehcache, т. Е.). Итак, я должен был сделать свой собственный, который я вставляю внизу. Он хорошо работает на интеграционных тестах, но я хотел бы знать, сталкивался ли кто-то с аналогичной проблемой, и имеет какое-либо предложение или исправление этого кода.Весенний кэш с Oracle Coherence
import com.tangosol.net.CacheFactory;
import com.tangosol.net.NamedCache;
public class MyCoherenceCache implements Cache {
private final NamedCache cache;
private static int instanceCounter = 0;
@Override
public synchronized void clear() {
cache.clear();
}
@Override
public synchronized void evict(Object object) {
cache.remove(object);
}
@Override
public synchronized ValueWrapper get(Object key) {
if (cache.get(key) == null) {
return null;
} else {
return new SimpleValueWrapper(cache.get(key));
}
}
@Override
public String getName() {
return cache.getCacheName();
}
@Override
public Object getNativeCache() {
throw new RuntimeException("Error: Unimplemented method!");
}
@Override
public synchronized void put(Object arg0, Object arg1) {
cache.put(arg0, arg1);
}
MyCoherenceCache(String cacheName) {
super();
instanceCounter++;
cache = CacheFactory.getCache(cacheName);
}
public static int getInstanceCounter() {
return instanceCounter;
}
}
с какими проблемами вы сталкиваетесь? Исключения? –
На самом деле, я не сталкиваюсь с какими-либо проблемами. Я просто хотел бы знать, можно ли улучшить код. Или можно избежать некоторых потенциальных проблем. – Andres