@Autowired public EnvironmentSnapshotCacheImpl(ApplicationContext applicationContext, EngineProperties engineProperties) { Integer maxSequenceCacheSize = engineProperties.getEnvironmentCacheMaxsize(); Period period = new Period(engineProperties.getEnvironmentCacheVerifyPeriod()); environmentInitializer = applicationContext.getBean("Pipeline", EnvironmentInitializer.class); conditionEngineRepositoryCache = CacheBuilder.newBuilder() .maximumSize(maxSequenceCacheSize) .expireAfterWrite(period.toStandardDuration().getMillis(), TimeUnit.MILLISECONDS) .build( new CacheLoader<Long, EnvironmentSnapshot>() { public EnvironmentSnapshot load(Long sequenceId) throws Exception { try(CorePolicyLogger traceInfo = new CorePolicyLogger("EnvironmentSnapshot:load")) { EnvironmentSnapshotImpl environmentSnapshot = new EnvironmentSnapshotImpl(); environmentSnapshot.setCollectionSequenceId(sequenceId); environmentSnapshot = environmentInitializer.initialize(environmentSnapshot); return environmentSnapshot; } } } ); }
@Override public String toString(){ // Get a string to represent our internal property state. Multimap<String, String> entries = new CaseInsensitiveKeyMultimap<>(); entries.put("engine.mode", getMode()); entries.put("engine.regexcache.maxsize", String.valueOf(getRegexCacheMaxsize())); entries.put("engine.regexcache.expiryhours", String.valueOf(getRegexCacheExpiryHours())); entries.put("engine.environmentcache.maxage", String.valueOf(getEnvironmentCacheMaxage())); entries.put("engine.environmentcache.maxsize", String.valueOf(getEnvironmentCacheMaxsize())); entries.put("engine.environmentcache.expiryhours", String.valueOf(getEnvironmentCacheExpiryHours())); entries.put("engine.environmentcache.expiry", String.valueOf(getEnvironmentCacheExpiry())); entries.put("engine.environmentcache.verifyperiod", getEnvironmentCacheVerifyPeriod()); entries.put("engine.environmentcache.location", getEnvironmentCacheLocation()); entries.put("engine.environmentcache.mode", getEnvironmentCacheMode()); entries.put("engine.regextimeout", String.valueOf(getRegexTimeout())); return StringHelper.mapToHtml(entries); }