mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
flush name storage periodically the same way we do for indices
This commit is contained in:
@@ -25,6 +25,7 @@ import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
||||
public abstract class SerializationManager {
|
||||
|
||||
public static SerializationManager getInstance() {
|
||||
return ApplicationManager.getApplication().getComponent(SerializationManager.class);
|
||||
}
|
||||
@@ -40,4 +41,6 @@ public abstract class SerializationManager {
|
||||
public abstract boolean isNameStorageCorrupted();
|
||||
|
||||
public abstract void repairNameStorage();
|
||||
|
||||
public abstract void flushNameStorage();
|
||||
}
|
||||
@@ -111,6 +111,11 @@ public class SerializationManagerImpl extends SerializationManager implements Ap
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flushNameStorage() {
|
||||
myNameStorage.force();
|
||||
}
|
||||
|
||||
public void registerSerializer(@NotNull StubSerializer<? extends StubElement> serializer) {
|
||||
myAllSerializers.add(serializer);
|
||||
try {
|
||||
|
||||
@@ -636,6 +636,10 @@ public class FileBasedIndex implements ApplicationComponent {
|
||||
requestRebuild(indexId);
|
||||
}
|
||||
}
|
||||
|
||||
if (!HeavyProcessLatch.INSTANCE.isRunning() && modCount == myLocalModCount) { // do not interfere with 'main' jobs
|
||||
SerializationManager.getInstance().flushNameStorage();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user