diff --git a/p2p/src/main/java/bisq/network/p2p/storage/P2PDataStorage.java b/p2p/src/main/java/bisq/network/p2p/storage/P2PDataStorage.java index 454d9420967..2cd0ad0405d 100644 --- a/p2p/src/main/java/bisq/network/p2p/storage/P2PDataStorage.java +++ b/p2p/src/main/java/bisq/network/p2p/storage/P2PDataStorage.java @@ -209,13 +209,6 @@ public void readFromResources(String postFix, Runnable completeHandler) { BooleanProperty protectedDataStoreServiceReady = new SimpleBooleanProperty(); BooleanProperty resourceDataStoreServiceReady = new SimpleBooleanProperty(); - appendOnlyDataStoreService.readFromResources(postFix, () -> appendOnlyDataStoreServiceReady.set(true)); - protectedDataStoreService.readFromResources(postFix, () -> { - map.putAll(protectedDataStoreService.getMap()); - protectedDataStoreServiceReady.set(true); - }); - resourceDataStoreService.readFromResources(postFix, () -> resourceDataStoreServiceReady.set(true)); - readFromResourcesCompleteBinding = EasyBind.combine(appendOnlyDataStoreServiceReady, protectedDataStoreServiceReady, resourceDataStoreServiceReady, @@ -225,6 +218,13 @@ public void readFromResources(String postFix, Runnable completeHandler) { completeHandler.run(); } }); + + appendOnlyDataStoreService.readFromResources(postFix, () -> appendOnlyDataStoreServiceReady.set(true)); + protectedDataStoreService.readFromResources(postFix, () -> { + map.putAll(protectedDataStoreService.getMap()); + protectedDataStoreServiceReady.set(true); + }); + resourceDataStoreService.readFromResources(postFix, () -> resourceDataStoreServiceReady.set(true)); } // Uses synchronous execution on the userThread. Only used by tests. The async methods should be used by app code. diff --git a/p2p/src/main/java/bisq/network/p2p/storage/persistence/AppendOnlyDataStoreService.java b/p2p/src/main/java/bisq/network/p2p/storage/persistence/AppendOnlyDataStoreService.java index 859f09489c2..927d81db578 100644 --- a/p2p/src/main/java/bisq/network/p2p/storage/persistence/AppendOnlyDataStoreService.java +++ b/p2p/src/main/java/bisq/network/p2p/storage/persistence/AppendOnlyDataStoreService.java @@ -55,6 +55,10 @@ public void addService(MapStoreService { service.readFromResources(postFix, () -> { diff --git a/p2p/src/main/java/bisq/network/p2p/storage/persistence/ProtectedDataStoreService.java b/p2p/src/main/java/bisq/network/p2p/storage/persistence/ProtectedDataStoreService.java index d79fef5ec4f..c795717aecf 100644 --- a/p2p/src/main/java/bisq/network/p2p/storage/persistence/ProtectedDataStoreService.java +++ b/p2p/src/main/java/bisq/network/p2p/storage/persistence/ProtectedDataStoreService.java @@ -56,6 +56,10 @@ public void addService(MapStoreService { service.readFromResources(postFix, () -> { diff --git a/p2p/src/main/java/bisq/network/p2p/storage/persistence/ResourceDataStoreService.java b/p2p/src/main/java/bisq/network/p2p/storage/persistence/ResourceDataStoreService.java index dac03b4034b..19193ace4ea 100644 --- a/p2p/src/main/java/bisq/network/p2p/storage/persistence/ResourceDataStoreService.java +++ b/p2p/src/main/java/bisq/network/p2p/storage/persistence/ResourceDataStoreService.java @@ -46,6 +46,10 @@ public void addService(StoreService service) { } public void readFromResources(String postFix, Runnable completeHandler) { + if (services.isEmpty()) { + completeHandler.run(); + return; + } AtomicInteger remaining = new AtomicInteger(services.size()); services.forEach(service -> { service.readFromResources(postFix, () -> {