Browse Source

spawn block generator thread from controller

pull/67/head
catbref 6 years ago
parent
commit
963e4c5d35
  1. 20
      src/controller/Controller.java

20
src/controller/Controller.java

@ -2,11 +2,13 @@ package controller;
import api.ApiService;
import qora.block.BlockChain;
import qora.block.BlockGenerator;
import repository.DataException;
import repository.RepositoryFactory;
import repository.RepositoryManager;
import repository.hsqldb.HSQLDBRepositoryFactory;
import settings.Settings;
import utils.Base58;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@ -21,6 +23,8 @@ public class Controller {
private static final Object shutdownLock = new Object();
private static boolean isStopping = false;
private static BlockGenerator blockGenerator;
public static void main(String args[]) {
LOGGER.info("Starting up...");
@ -36,13 +40,19 @@ public class Controller {
System.exit(1);
}
LOGGER.info("Validating blockchain");
try {
BlockChain.validate();
} catch (DataException e) {
LOGGER.error("Couldn't validate repository", e);
LOGGER.error("Couldn't validate blockchain", e);
System.exit(2);
}
LOGGER.info("Starting block generator");
byte[] privateKey = Base58.decode("A9MNsATgQgruBUjxy2rjWY36Yf19uRioKZbiLFT2P7c6");
blockGenerator = new BlockGenerator(privateKey);
blockGenerator.start();
LOGGER.info("Starting API");
try {
ApiService apiService = ApiService.getInstance();
@ -68,6 +78,14 @@ public class Controller {
LOGGER.info("Shutting down API");
ApiService.getInstance().stop();
LOGGER.info("Shutting down block generator");
blockGenerator.shutdown();
try {
blockGenerator.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
try {
LOGGER.info("Shutting down repository");
RepositoryManager.closeRepositoryFactory();

Loading…
Cancel
Save