package dk.daoas.daoadresseservice.db; import java.sql.SQLException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import dk.daoas.daoadresseservice.beans.SearchResult; public class LogPersistance { ExecutorService threadPool = Executors.newFixedThreadPool(1); private static class LogPersistanceWorker implements Runnable { DatabaseLayer db; String brugerid; String postnr; String adresse; String omdelingsdag; SearchResult result; public LogPersistanceWorker(DatabaseLayer db, String brugerid, String postnr, String adresse, String omdelingsdag, SearchResult result) { this.db = db; this.brugerid = brugerid; this.postnr = postnr; this.adresse = adresse; this.omdelingsdag = omdelingsdag; this.result = result; } @Override public void run() { try { db.saveRequestLog(brugerid, postnr, adresse, omdelingsdag, result); } catch (SQLException e) { System.out.println("Error saving log entry " + e.getMessage() + ". Postnr=" + postnr + ". Adresse=" + adresse); } } } public void saveRequestLog(DatabaseLayer db, String brugerid, String postnr, String adresse, String omdelingsdag, SearchResult result) { threadPool.execute( new LogPersistanceWorker(db, brugerid, postnr, adresse, omdelingsdag, result) ); } public void shutdown() { threadPool.shutdown(); } }