forked from Qortal-Forker/qortal
		
	spawn block generator thread from controller
This commit is contained in:
		@@ -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();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user