|
@@ -2,6 +2,7 @@ package highlevel;
|
|
|
|
|
|
import common.Helper;
|
|
|
import common.Message;
|
|
|
+import org.rapidoid.commons.Env;
|
|
|
import org.rapidoid.config.Conf;
|
|
|
import org.rapidoid.http.MediaType;
|
|
|
import org.rapidoid.log.Log;
|
|
@@ -14,31 +15,49 @@ public class Main {
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
|
|
- App.args(args,
|
|
|
- "production",
|
|
|
- "c3p0.maxPoolSize=256",
|
|
|
- "c3p0.maxIdleTimeExcessConnections=256",
|
|
|
- "c3p0.maxStatementsPerConnection=3",
|
|
|
- "http.serverName=X",
|
|
|
- "http.mandatoryHeaders.connection=false",
|
|
|
- "http.timeout=0");
|
|
|
+ App.args(args);
|
|
|
|
|
|
- String dbHost = Conf.ROOT.entry("dbhost").or("localhost");
|
|
|
- Log.info("Database hostname is: " + dbHost);
|
|
|
+ Conf.C3P0.set("maxPoolSize", 256);
|
|
|
+ Conf.C3P0.set("maxIdleTimeExcessConnections", 256);
|
|
|
+ Conf.C3P0.set("maxStatementsPerConnection", 3);
|
|
|
+
|
|
|
+ Conf.HTTP.set("maxPipeline", 128);
|
|
|
+ Conf.HTTP.set("timeout", 0);
|
|
|
+ Conf.HTTP.sub("mandatoryHeaders").set("connection", false);
|
|
|
|
|
|
On.port(8080);
|
|
|
|
|
|
- On.get("/plaintext").managed(false).contentType(MediaType.TEXT_PLAIN).serve("Hello, world!");
|
|
|
+ if (Env.hasAnyProfile("mysql", "postgres")) {
|
|
|
+ setupDbHandlers();
|
|
|
+ } else {
|
|
|
+ setupSimpleHandlers();
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ private static void setupSimpleHandlers() {
|
|
|
+ On.get("/plaintext").managed(false).contentType(MediaType.TEXT_PLAIN).serve("Hello, world!");
|
|
|
On.get("/json").managed(false).json(() -> new Message("Hello, world!"));
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void setupDbHandlers() {
|
|
|
+ String dbHost = Conf.ROOT.entry("dbhost").or("localhost");
|
|
|
+ Log.info("Database hostname is: " + dbHost);
|
|
|
+
|
|
|
+ String dbUrl;
|
|
|
+
|
|
|
+ if (Env.hasProfile("mysql")) {
|
|
|
+ dbUrl = "jdbc:mysql://" + dbHost + ":3306/hello_world?" + Helper.MYSQL_CONFIG;
|
|
|
+ } else {
|
|
|
+ dbUrl = "jdbc:postgresql://" + dbHost + ":5432/hello_world?" + Helper.POSTGRES_CONFIG;
|
|
|
+ }
|
|
|
|
|
|
JdbcClient mysqlJdbc = JDBC.newApi()
|
|
|
- .url("jdbc:mysql://" + dbHost + ":3306/hello_world?" + Helper.MYSQL_CONFIG)
|
|
|
+ .url(dbUrl)
|
|
|
.username("benchmarkdbuser")
|
|
|
.password("benchmarkdbpass")
|
|
|
.pooled();
|
|
|
|
|
|
- On.get("/fortunes/mysql").html(new FortunesHandler(mysqlJdbc));
|
|
|
+ On.get("/fortunes").html(new FortunesHandler(mysqlJdbc));
|
|
|
}
|
|
|
|
|
|
}
|