如果远程服务器发生故障,请跳过缓存

时间:2019-12-10 16:00:36

标签: java spring caching infinispan jcache

当前,我在infinispan服务器上有一个远程缓存,并使用spring支持的jcache来使用缓存注释。我的问题是,如果缓存服务器关闭,@ CacheResult批注将失败,并且仅返回异常。

我已经实现了CachingConfigurerSupport,但是从未调用过errorHandler()方法。我还绑定了创建自己的提供程序和管理器,以使用尝试缓存包装infinispans JCacheManager的getCache方法,但这也不起作用。

在这一点上,我正在考虑只使用infinispan而不使用jcache注释来提供帮助。

>org.infinispan.client.hotrod.exceptions.TransportException:: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: localhost/127.0.0.1:11222
    org.infinispan.client.hotrod.impl.Util.rewrap(Util.java:81)
    org.infinispan.client.hotrod.impl.Util.await(Util.java:54)
    org.infinispan.client.hotrod.impl.RemoteCacheImpl.get(RemoteCacheImpl.java:424)
    org.infinispan.jcache.remote.RemoteCacheWrapper.get(RemoteCacheWrapper.java:78)
    org.infinispan.jcache.remote.RemoteCacheWithSyncListeners.get(RemoteCacheWithSyncListeners.java:15)
    org.infinispan.jcache.remote.RemoteCacheWithStats.get(RemoteCacheWithStats.java:17)
    org.infinispan.jcache.remote.RemoteCacheWrapper.get(RemoteCacheWrapper.java:78)
    org.infinispan.jcache.remote.RemoteCacheWrapper.get(RemoteCacheWrapper.java:78)
    org.infinispan.jcache.remote.RemoteCacheWithCacheStore.get(RemoteCacheWithCacheStore.java:28)
    org.infinispan.jcache.remote.JCache.get(JCache.java:80)
    org.springframework.cache.jcache.JCacheCache.lookup(JCacheCache.java:74)
    org.springframework.cache.support.AbstractValueAdaptingCache.get(AbstractValueAdaptingCache.java:56)
    org.springframework.cache.interceptor.AbstractCacheInvoker.doGet(AbstractCacheInvoker.java:68)
    org.springframework.cache.jcache.interceptor.CacheResultInterceptor.invoke(CacheResultInterceptor.java:53)
    org.springframework.cache.jcache.interceptor.JCacheAspectSupport.execute(JCacheAspectSupport.java:131)
    org.springframework.cache.jcache.interceptor.JCacheAspectSupport.execute(JCacheAspectSupport.java:102)
    org.springframework.cache.jcache.interceptor.JCacheInterceptor.invoke(JCacheInterceptor.java:61)
    org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)

0 个答案:

没有答案