keycloak
静的限定公開変数類 | 関数 | 静的関数 | 非公開変数類 | 全メンバ一覧
org.keycloak.cluster.infinispan.CrossDCAwareCacheFactory.RemoteCacheWrapperFactory クラス
org.keycloak.cluster.infinispan.CrossDCAwareCacheFactory.RemoteCacheWrapperFactory の継承関係図
Inheritance graph
org.keycloak.cluster.infinispan.CrossDCAwareCacheFactory.RemoteCacheWrapperFactory 連携図
Collaboration graph

静的限定公開変数類

static final Logger logger = Logger.getLogger(CrossDCAwareCacheFactory.class)
 

関数

 RemoteCacheWrapperFactory (RemoteCache< String, Serializable > remoteCache)
 
BasicCache< String, Serializable > getCache ()
 

静的関数

static CrossDCAwareCacheFactory getFactory (Cache< String, Serializable > workCache, Set< RemoteStore > remoteStores)
 

非公開変数類

final RemoteCache< String, Serializable > remoteCache
 

詳解

構築子と解体子

◆ RemoteCacheWrapperFactory()

88  {
89  this.remoteCache = remoteCache;
90  }
final RemoteCache< String, Serializable > remoteCache
Definition: CrossDCAwareCacheFactory.java:86

関数詳解

◆ getCache()

BasicCache<String, Serializable> org.keycloak.cluster.infinispan.CrossDCAwareCacheFactory.RemoteCacheWrapperFactory.getCache ( )
inlinepackage
93  {
94  // Flags are per-invocation!
95  return remoteCache.withFlags(Flag.FORCE_RETURN_VALUE);
96  }
final RemoteCache< String, Serializable > remoteCache
Definition: CrossDCAwareCacheFactory.java:86

◆ getFactory()

static CrossDCAwareCacheFactory org.keycloak.cluster.infinispan.CrossDCAwareCacheFactory.getFactory ( Cache< String, Serializable >  workCache,
Set< RemoteStore >  remoteStores 
)
inlinestaticpackageinherited
41  {
42  if (remoteStores.isEmpty()) {
43  logger.debugf("No configured remoteStore available. Cross-DC scenario is not used");
44  return new InfinispanCacheWrapperFactory(workCache);
45  } else {
46  logger.debugf("RemoteStore is available. Cross-DC scenario will be used");
47 
48  if (remoteStores.size() > 1) {
49  logger.warnf("More remoteStores configured for work cache. Will use just the first one");
50  }
51 
52  // For cross-DC scenario, we need to return underlying remoteCache for atomic operations to work properly
53  RemoteStore remoteStore = remoteStores.iterator().next();
54  RemoteCache remoteCache = remoteStore.getRemoteCache();
55 
56  if (remoteCache == null) {
57  String cacheName = remoteStore.getConfiguration().remoteCacheName();
58  throw new IllegalStateException("Remote cache '" + cacheName + "' is not available.");
59  }
60 
61  return new RemoteCacheWrapperFactory(remoteCache);
62  }
63  }
static final Logger logger
Definition: CrossDCAwareCacheFactory.java:35

メンバ詳解

◆ logger

final Logger org.keycloak.cluster.infinispan.CrossDCAwareCacheFactory.logger = Logger.getLogger(CrossDCAwareCacheFactory.class)
staticprotectedinherited

◆ remoteCache

final RemoteCache<String, Serializable> org.keycloak.cluster.infinispan.CrossDCAwareCacheFactory.RemoteCacheWrapperFactory.remoteCache
private

このクラス詳解は次のファイルから抽出されました: