本文整理汇总了Java中org.apache.ignite.configuration.CacheConfiguration.getEvictionPolicy方法的典型用法代码示例。如果您正苦于以下问题:Java CacheConfiguration.getEvictionPolicy方法的具体用法?Java CacheConfiguration.getEvictionPolicy怎么用?Java CacheConfiguration.getEvictionPolicy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.ignite.configuration.CacheConfiguration
的用法示例。
在下文中一共展示了CacheConfiguration.getEvictionPolicy方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: start0
import org.apache.ignite.configuration.CacheConfiguration; //导入方法依赖的package包/类
/** {@inheritDoc} */
@Override public void start0() throws IgniteCheckedException {
CacheConfiguration cfg = cctx.config();
if (cctx.isNear()) {
plc = (cfg.getNearConfiguration().getNearEvictionPolicyFactory() != null) ?
(EvictionPolicy)cfg.getNearConfiguration().getNearEvictionPolicyFactory().create() :
cfg.getNearConfiguration().getNearEvictionPolicy();
}
else if (cfg.getEvictionPolicyFactory() != null)
plc = (EvictionPolicy)cfg.getEvictionPolicyFactory().create();
else
plc = cfg.getEvictionPolicy();
plcEnabled = plc != null;
filter = cfg.getEvictionFilter();
if (log.isDebugEnabled())
log.debug("Eviction manager started on node: " + cctx.nodeId());
}
示例2: preProcessCacheConfiguration
import org.apache.ignite.configuration.CacheConfiguration; //导入方法依赖的package包/类
/** {@inheritDoc} */
@Override public void preProcessCacheConfiguration(CacheConfiguration cfg) {
EvictionPolicy evictPlc = cfg.getEvictionPolicyFactory() != null ?
(EvictionPolicy)cfg.getEvictionPolicyFactory().create()
: cfg.getEvictionPolicy();
if (evictPlc instanceof IgfsPerBlockLruEvictionPolicy && cfg.getEvictionFilter() == null)
cfg.setEvictionFilter(new IgfsEvictionFilter());
}
示例3: validateCacheConfiguration
import org.apache.ignite.configuration.CacheConfiguration; //导入方法依赖的package包/类
/** {@inheritDoc} */
@Override public void validateCacheConfiguration(CacheConfiguration cfg) throws IgniteCheckedException {
EvictionPolicy evictPlc = cfg.getEvictionPolicyFactory() != null ?
(EvictionPolicy)cfg.getEvictionPolicyFactory().create()
: cfg.getEvictionPolicy();
if (evictPlc != null && evictPlc instanceof IgfsPerBlockLruEvictionPolicy) {
EvictionFilter evictFilter = cfg.getEvictionFilter();
if (evictFilter != null && !(evictFilter instanceof IgfsEvictionFilter))
throw new IgniteCheckedException("Eviction filter cannot be set explicitly when using " +
"IgfsPerBlockLruEvictionPolicy: " + U.maskName(cfg.getName()));
}
}
示例4: suggestOptimizations
import org.apache.ignite.configuration.CacheConfiguration; //导入方法依赖的package包/类
/**
* @param cfg Configuration to check for possible performance issues.
* @param hasStore {@code True} if store is configured.
*/
private void suggestOptimizations(CacheConfiguration cfg, boolean hasStore) {
GridPerformanceSuggestions perf = ctx.performance();
String msg = "Disable eviction policy (remove from configuration)";
if (cfg.getEvictionPolicyFactory() != null || cfg.getEvictionPolicy() != null)
perf.add(msg, false);
else
perf.add(msg, true);
if (cfg.getCacheMode() == PARTITIONED) {
perf.add("Disable near cache (set 'nearConfiguration' to null)", cfg.getNearConfiguration() == null);
if (cfg.getAffinity() != null)
perf.add("Decrease number of backups (set 'backups' to 0)", cfg.getBackups() == 0);
}
// Suppress warning if at least one ATOMIC cache found.
perf.add("Enable ATOMIC mode if not using transactions (set 'atomicityMode' to ATOMIC)",
cfg.getAtomicityMode() == ATOMIC);
// Suppress warning if at least one non-FULL_SYNC mode found.
perf.add("Disable fully synchronous writes (set 'writeSynchronizationMode' to PRIMARY_SYNC or FULL_ASYNC)",
cfg.getWriteSynchronizationMode() != FULL_SYNC);
if (hasStore && cfg.isWriteThrough())
perf.add("Enable write-behind to persistent store (set 'writeBehindEnabled' to true)",
cfg.isWriteBehindEnabled());
}