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

クラス

class  InfinispanCacheWrapperFactory
 
class  RemoteCacheWrapperFactory
 

静的限定公開変数類

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

関数

abstract BasicCache< String, Serializable > getCache ()
 

静的関数

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

詳解

著者
Marek Posolda

関数詳解

◆ getCache()

abstract BasicCache<String, Serializable> org.keycloak.cluster.infinispan.CrossDCAwareCacheFactory.getCache ( )
abstractpackage

◆ getFactory()

static CrossDCAwareCacheFactory org.keycloak.cluster.infinispan.CrossDCAwareCacheFactory.getFactory ( Cache< String, Serializable >  workCache,
Set< RemoteStore >  remoteStores 
)
inlinestaticpackage
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)
staticprotected

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