12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package benchmark;
- import benchmark.repository.DbFactory;
- import gg.jte.ContentType;
- import gg.jte.TemplateEngine;
- import io.javalin.Javalin;
- import io.javalin.rendering.template.JavalinJte;
- import java.util.Collections;
- import java.util.List;
- import io.javalin.http.servlet.DefaultTasks;
- public class Main {
- public static void main(String[] args) {
- TemplateEngine templateEngine = TemplateEngine.createPrecompiled(ContentType.Html);
- templateEngine.setTrimControlStructures(true);
- JavalinJte.init(templateEngine, c -> false);
- DslJsonMapper jsonMapper = new DslJsonMapper();
- DatabaseController postgres = new DatabaseController(jsonMapper, DbFactory.INSTANCE.getDbService(DbFactory.DbType.POSTGRES));
- DatabaseController mongo = new DatabaseController(jsonMapper, DbFactory.INSTANCE.getDbService(DbFactory.DbType.MONGODB));
- Javalin app = Javalin.create(config -> {
- config.compression.none();
- config.jetty.server(ServerUtil::createServer);
- config.pvt.servletRequestLifecycle = List.of(DefaultTasks.INSTANCE.getHTTP());
- }).start(8080);
- app.get("/plaintext", ctx -> ctx.result("Hello, World!"));
- app.get("/json", ctx -> jsonMapper.writeJson(Collections.singletonMap("message", "Hello, World!"), ctx));
- // PostgreSQL
- app.get("/db", postgres::handleSingleDbQuery);
- app.get("/queries", postgres::handleMultipleDbQueries);
- app.get("/fortunes", postgres::handleFortunes);
- app.get("/updates", postgres::handleUpdates);
- // MongoDb
- app.get("/mongo/db", mongo::handleSingleDbQuery);
- app.get("/mongo/queries", mongo::handleMultipleDbQueries);
- app.get("/mongo/fortunes", mongo::handleFortunes);
- app.get("/mongo/updates", mongo::handleUpdates);
- app.exception(Exception.class, (exception, ctx) -> ctx.status(503).result("503 Service Unavailable"));
- }
- }
|