--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/afstandandenrute/AfstandAndenRuteTask.java 2016/01/31 21:56:30 2890 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/afstandandenrute/AfstandAndenRuteTask.java 2016/02/12 22:30:30 2937 @@ -11,55 +11,59 @@ import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.atomic.AtomicInteger; -import java.util.logging.FileHandler; -import java.util.logging.Logger; -import java.util.logging.SimpleFormatter; import ags.utils.dataStructures.trees.thirdGenKD.KdTree; +import dk.daoas.adressevedligehold.ReloadHelper; import dk.daoas.adressevedligehold.ServiceConfig; import dk.daoas.adressevedligehold.beans.Address; import dk.daoas.adressevedligehold.db.DBConnection; import dk.daoas.adressevedligehold.tasks.Task; -import dk.daoas.adressevedligehold.util.HttpUtil; +import dk.daoas.adressevedligehold.tasks.TaskLogger; public class AfstandAndenRuteTask extends Task { - final Logger logger = Logger.getLogger( AfstandAndenRuteTask.class.toString() ); + private TaskLogger logger = TaskLogger.getInstance(); - final boolean verbose = false;// + final static boolean VERBOSE = false;// static boolean test_mode; String distributor; + int antalIkkeDaekkede = -1; + + AtomicInteger antalBeregnet = new AtomicInteger(); ThreadPoolExecutor threadPool; + boolean isIncremental; - public AfstandAndenRuteTask(String distributor) { + public AfstandAndenRuteTask(String distributor, String type) { this.distributor = distributor; + + type = type.toUpperCase(); + switch(type) { + case "FULL": + isIncremental = false; + break; + case "INCREMENTAL": + isIncremental = true; + break; + default: + throw new RuntimeException("Unknown type" + type); + } } @Override protected void taskRun() throws Exception { - - - - - //Setup j.u.l Logger - Logger root = Logger.getLogger(""); - FileHandler fhandler = new FileHandler("fulddaekning.log"); // Ingen max størrelse, ingen rotation og ingen append - fhandler.setFormatter( new SimpleFormatter() ); - root.addHandler( fhandler ); - - + Constants.init(distributor); Constants consts = Constants.getInstance(); @@ -78,11 +82,15 @@ } logger.info("Starting with MAX_WORKERS:" + max_workers); setupThreadPool(max_workers); + + logger.info("Starting with INCREMENTAL:" + isIncremental); + - int antalIkkeDaekkede = -1; try (Connection conn = DBConnection.getConnection() ) { - Database db = new Database(conn); + Database db = new Database(conn, isIncremental); + + db.prepareIncrementalSearch(); Queue
ikkeDaekkede = db.hentAlleIkkedaekkedeAdresser(consts.getMinPostnr(), consts.getMaxPostnr() ); antalIkkeDaekkede = ikkeDaekkede.size(); @@ -144,7 +152,7 @@ CyclicBarrier barrier = new CyclicBarrier(max_workers + 1); for (int i=0; i