Main.java 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package benchmark;
  2. import benchmark.repository.DbFactory;
  3. import gg.jte.ContentType;
  4. import gg.jte.TemplateEngine;
  5. import io.javalin.Javalin;
  6. import io.javalin.rendering.template.JavalinJte;
  7. import java.util.Collections;
  8. import java.util.List;
  9. import io.javalin.http.servlet.DefaultTasks;
  10. public class Main {
  11. public static void main(String[] args) {
  12. TemplateEngine templateEngine = TemplateEngine.createPrecompiled(ContentType.Html);
  13. templateEngine.setTrimControlStructures(true);
  14. JavalinJte.init(templateEngine, c -> false);
  15. DslJsonMapper jsonMapper = new DslJsonMapper();
  16. DatabaseController postgres = new DatabaseController(jsonMapper, DbFactory.INSTANCE.getDbService(DbFactory.DbType.POSTGRES));
  17. DatabaseController mongo = new DatabaseController(jsonMapper, DbFactory.INSTANCE.getDbService(DbFactory.DbType.MONGODB));
  18. Javalin app = Javalin.create(config -> {
  19. config.compression.none();
  20. config.jetty.server(ServerUtil::createServer);
  21. config.pvt.servletRequestLifecycle = List.of(DefaultTasks.INSTANCE.getHTTP());
  22. }).start(8080);
  23. app.get("/plaintext", ctx -> ctx.result("Hello, World!"));
  24. app.get("/json", ctx -> jsonMapper.writeJson(Collections.singletonMap("message", "Hello, World!"), ctx));
  25. // PostgreSQL
  26. app.get("/db", postgres::handleSingleDbQuery);
  27. app.get("/queries", postgres::handleMultipleDbQueries);
  28. app.get("/fortunes", postgres::handleFortunes);
  29. app.get("/updates", postgres::handleUpdates);
  30. // MongoDb
  31. app.get("/mongo/db", mongo::handleSingleDbQuery);
  32. app.get("/mongo/queries", mongo::handleMultipleDbQueries);
  33. app.get("/mongo/fortunes", mongo::handleFortunes);
  34. app.get("/mongo/updates", mongo::handleUpdates);
  35. app.exception(Exception.class, (exception, ctx) -> ctx.status(503).result("503 Service Unavailable"));
  36. }
  37. }