RED-9375: use storageId for cache names everywhere, such that name may be updated by a user
(cherry picked from commit c1a2e9dee209413ca7a3738dc746ee2397aa1319)
This commit is contained in:
parent
e26e0e34f5
commit
8b8dab2a18
@ -40,7 +40,8 @@ public class ComponentMappingFileSystemCache {
|
|||||||
public File getComponentMappingFile(ComponentMappingMetadata metadata) {
|
public File getComponentMappingFile(ComponentMappingMetadata metadata) {
|
||||||
|
|
||||||
Path mappingFile = getMappingFileFromMetadata(metadata);
|
Path mappingFile = getMappingFileFromMetadata(metadata);
|
||||||
Path mappingFileMetaDataFile = mappingFile.resolveSibling(metadata.getName() + METADATA_SUFFIX);
|
Path mappingFileMetaDataFile = getMappingMetadataFileFromMetadata(metadata);
|
||||||
|
|
||||||
synchronized (ComponentMappingFileSystemCache.class) {
|
synchronized (ComponentMappingFileSystemCache.class) {
|
||||||
|
|
||||||
if (fileExistsAndUpToDate(metadata, mappingFile, mappingFileMetaDataFile)) {
|
if (fileExistsAndUpToDate(metadata, mappingFile, mappingFileMetaDataFile)) {
|
||||||
@ -87,6 +88,13 @@ public class ComponentMappingFileSystemCache {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private Path getMappingMetadataFileFromMetadata(ComponentMappingMetadata metadata) {
|
||||||
|
|
||||||
|
Path tenantStem = mappingFileDir.resolve(TenantContext.getTenantId());
|
||||||
|
return tenantStem.resolve(metadata.getStorageId() + METADATA_SUFFIX);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private boolean fileExistsAndUpToDate(ComponentMappingMetadata metadata, Path mappingFile, Path mappingFileMetaDataFile) {
|
private boolean fileExistsAndUpToDate(ComponentMappingMetadata metadata, Path mappingFile, Path mappingFileMetaDataFile) {
|
||||||
|
|
||||||
if (mappingFile.toFile().exists() && mappingFile.toFile().isFile() && mappingFileMetaDataFile.toFile().exists() && mappingFileMetaDataFile.toFile().isFile()) {
|
if (mappingFile.toFile().exists() && mappingFile.toFile().isFile() && mappingFileMetaDataFile.toFile().exists() && mappingFileMetaDataFile.toFile().isFile()) {
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import java.io.File;
|
|||||||
import java.io.FileReader;
|
import java.io.FileReader;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
|
import java.time.Duration;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -36,7 +37,7 @@ public class ComponentMappingMemoryCache {
|
|||||||
public ComponentMappingMemoryCache(ComponentMappingFileSystemCache componentMappingFileSystemCache) {
|
public ComponentMappingMemoryCache(ComponentMappingFileSystemCache componentMappingFileSystemCache) {
|
||||||
|
|
||||||
this.fileSystemCache = componentMappingFileSystemCache;
|
this.fileSystemCache = componentMappingFileSystemCache;
|
||||||
cache = CacheBuilder.newBuilder().maximumWeight(MAX_NUMBER_OF_LINES).weigher(COMPONENT_MAPPING_WEIGHER).build();
|
cache = CacheBuilder.newBuilder().maximumWeight(MAX_NUMBER_OF_LINES).weigher(COMPONENT_MAPPING_WEIGHER).expireAfterAccess(Duration.ofDays(1)).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user