/** * @param ccfg Cache configuration. * @param objs Extra components. * @return Components provided in cache configuration which can implement {@link GridLifecycleAware} interface. */ private Iterable<Object> lifecycleAwares(GridCacheConfiguration ccfg, Object...objs) { Collection<Object> ret = new ArrayList<>(7 + objs.length); ret.add(ccfg.getAffinity()); ret.add(ccfg.getAffinityMapper()); ret.add(ccfg.getCloner()); ret.add(ccfg.getEvictionFilter()); ret.add(ccfg.getEvictionPolicy()); ret.add(ccfg.getNearEvictionPolicy()); ret.add(ccfg.getInterceptor()); Collections.addAll(ret, objs); return ret; }
/** * @param ccfg Cache configuration. * @return Data transfer object for near cache configuration properties. */ public static VisorNearCacheConfig from(GridCacheConfiguration ccfg) { VisorNearCacheConfig cfg = new VisorNearCacheConfig(); cfg.nearEnabled(GridCacheUtils.isNearEnabled(ccfg)); cfg.nearStartSize(ccfg.getNearStartSize()); cfg.nearEvictPolicy(compactClass(ccfg.getNearEvictionPolicy())); return cfg; }
/** * @param cctx Cache context. */ private void cleanup(GridCacheContext cctx) { GridCacheConfiguration cfg = cctx.config(); cleanup(cfg, cfg.getEvictionPolicy(), false); cleanup(cfg, cfg.getNearEvictionPolicy(), true); cleanup(cfg, cfg.getAffinity(), false); cleanup(cfg, cfg.getAffinityMapper(), false); cleanup(cfg, cctx.jta().tmLookup(), false); cleanup(cfg, cfg.getCloner(), false); cleanup(cfg, cfg.getStore(), false); cctx.cleanup(); }
/** * @param cfg Configuration. * @param objs Extra components. * @throws GridException If failed to inject. */ private void prepare(GridCacheConfiguration cfg, Object... objs) throws GridException { prepare(cfg, cfg.getEvictionPolicy(), false); prepare(cfg, cfg.getNearEvictionPolicy(), true); prepare(cfg, cfg.getAffinity(), false); prepare(cfg, cfg.getAffinityMapper(), false); prepare(cfg, cfg.getCloner(), false); prepare(cfg, cfg.getStore(), false); prepare(cfg, cfg.getEvictionFilter(), false); prepare(cfg, cfg.getInterceptor(), false); GridDrSenderCacheConfiguration drSndCfg = cfg.getDrSenderConfiguration(); if (drSndCfg != null) prepare(cfg, drSndCfg.getEntryFilter(), false); GridDrReceiverCacheConfiguration drRcvCfg = cfg.getDrReceiverConfiguration(); if (drRcvCfg != null) prepare(cfg, drRcvCfg.getConflictResolver(), false); for (Object obj : objs) prepare(cfg, obj, false); }
GridCacheConfiguration cfg = cctx.config(); plc = cctx.isNear() ? cfg.<K, V>getNearEvictionPolicy() : cfg.<K, V>getEvictionPolicy();
evictFilterClsName = className(cfg.getEvictionFilter()); evictPlcClsName = className(cfg.getEvictionPolicy()); nearEvictPlcClsName = className(cfg.getNearEvictionPolicy()); storeClsName = className(cfg.getStore()); tmLookupClsName = cfg.getTransactionManagerLookupClassName();
if (cfg.getNearEvictionPolicy() != null) U.quietAndWarn(log, "Ignoring near eviction policy since near cache is disabled.");
name = cc.getName(); nearStartSize = cc.getNearStartSize(); nearEvictPlc = cc.getNearEvictionPolicy(); pessimisticTxLogLinger = cc.getPessimisticTxLogLinger(); pessimisticTxLogSize = cc.getPessimisticTxLogSize();