package net.mindoverflow.webmarker; import net.mindoverflow.webmarker.utils.Cached; import net.mindoverflow.webmarker.utils.config.ConfigEntries; import net.mindoverflow.webmarker.utils.config.ConfigManager; import net.mindoverflow.webmarker.utils.messaging.Messenger; import net.mindoverflow.webmarker.utils.sql.SQLiteManager; import net.mindoverflow.webmarker.webserver.WebApplication; import ro.pippo.core.Pippo; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; public class WebMarker { private static final Messenger msg = new Messenger(); public static void main(String[] args) { ConfigManager.checkFiles(); ConfigManager.loadFiles(); Cached.sqlManager = new SQLiteManager(); Cached.sqlManager.initialize(); msg.info("Loading Pippo framework..."); final Pippo pippo = new Pippo(new WebApplication()); msg.info("Loaded Pippo framework."); msg.info("Starting webserver..."); int port = (int) ConfigEntries.WEBSERVER_PORT.getValue(); pippo.start(port); msg.info("Started webserver."); ZonedDateTime now = ZonedDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME; String nowStr = formatter.format(now); msg.info("Startup timestamp: " + nowStr); /* todo: enable to track ram usage ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor(); exec.scheduleAtFixedRate(new StatsRunnable(), 0, 5, TimeUnit.SECONDS); */ } }