@Autowired public FilesystemInitializer(EngineProperties engineProperties, BooleanAgentServices booleanAgentServices){ this.booleanAgentServices = booleanAgentServices; environmentSnapshotCacheLocation = Paths.get(engineProperties.getEnvironmentCacheLocation()); environmentCacheExpiry = engineProperties.getEnvironmentCacheExpiry(); }
@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); }
@Override public EnvironmentSnapshotImpl initialize(EnvironmentSnapshotImpl environmentSnapshot) { try(CorePolicyLogger traceLogger = new CorePolicyLogger("FileSystemPersisence:initialize", Level.DEBUG)) { if (environmentSnapshot.getPersistedDate() != null) { traceLogger.log("snapshot has already been persisted - nothing to do."); return environmentSnapshot; } environmentSnapshot.setPersistedDate(DateTime.now(DateTimeZone.UTC)); String filename = String.valueOf(environmentSnapshot.getCollectionSequenceId()) + "-" + environmentSnapshot.getInstanceId() + ".json"; Path cacheFilePath = Paths.get(engineProperties.getEnvironmentCacheLocation(), filename); File file = cacheFilePath.toFile(); traceLogger.log("Persisting as: " + cacheFilePath); try { objectMapper.writeValue(file, environmentSnapshot); } catch (IOException e) { throw new RuntimeException(e); } return environmentSnapshot; } }
Path cacheFilePath = Paths.get(engineProperties.getEnvironmentCacheLocation(), filename); File file = cacheFilePath.toFile();