mirror of
https://github.com/bisq-network/bisq.git
synced 2025-02-24 15:10:44 +01:00
Use thread for json export
This commit is contained in:
parent
29e3ad0ee3
commit
df5ad53eb9
1 changed files with 25 additions and 3 deletions
|
@ -17,23 +17,32 @@
|
|||
|
||||
package io.bisq.core.dao.blockchain.json;
|
||||
|
||||
import com.google.common.util.concurrent.FutureCallback;
|
||||
import com.google.common.util.concurrent.Futures;
|
||||
import com.google.common.util.concurrent.ListenableFuture;
|
||||
import com.google.common.util.concurrent.ListeningExecutorService;
|
||||
import com.google.inject.Inject;
|
||||
import io.bisq.common.storage.PlainTextWrapper;
|
||||
import io.bisq.common.storage.Storage;
|
||||
import io.bisq.common.util.Utilities;
|
||||
import io.bisq.core.dao.RpcOptionKeys;
|
||||
import io.bisq.core.dao.blockchain.BsqChainState;
|
||||
import io.bisq.core.dao.blockchain.btcd.PubKeyScript;
|
||||
import io.bisq.core.dao.blockchain.vo.SpentInfo;
|
||||
import io.bisq.core.dao.blockchain.vo.TxOutput;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.inject.Named;
|
||||
import java.io.File;
|
||||
|
||||
@Slf4j
|
||||
public class JsonExporter {
|
||||
private final Storage<PlainTextWrapper> jsonStorage;
|
||||
private final boolean dumpBlockchainData;
|
||||
private final BsqChainState bsqChainState;
|
||||
private final File storageDir;
|
||||
private final ListeningExecutorService executor = Utilities.getListeningExecutorService("JsonExporter", 1, 1, 1200);
|
||||
|
||||
@Inject
|
||||
public JsonExporter(Storage<PlainTextWrapper> jsonStorage,
|
||||
|
@ -60,10 +69,23 @@ public class JsonExporter {
|
|||
list.toArray(array);*/
|
||||
//jsonStorage.queueUpForSave(new PlainTextWrapper(Utilities.objectToJson(array)), 5000);
|
||||
|
||||
ListenableFuture<Void> future = executor.submit(() -> {
|
||||
final BsqChainState clone = BsqChainState.getClone(bsqChainState);
|
||||
jsonStorage.queueUpForSave(new PlainTextWrapper(Utilities.objectToJson(clone)), 5000);
|
||||
return null;
|
||||
});
|
||||
|
||||
Futures.addCallback(future, new FutureCallback<Void>() {
|
||||
public void onSuccess(Void ignore) {
|
||||
log.trace("onSuccess");
|
||||
}
|
||||
|
||||
public void onFailure(@NotNull Throwable throwable) {
|
||||
log.error(throwable.toString());
|
||||
throwable.printStackTrace();
|
||||
}
|
||||
});
|
||||
|
||||
final BsqChainState clone = BsqChainState.getClone(bsqChainState);
|
||||
// TODO use thread
|
||||
// jsonStorage.queueUpForSave(new PlainTextWrapper(Utilities.objectToJson(clone)), 5000);
|
||||
|
||||
// keep the individual file storage option as code as we dont know yet what we will use.
|
||||
/* log.error("txOutputForJson " + txOutputForJson);
|
||||
|
|
Loading…
Add table
Reference in a new issue