Переглянути джерело

Upgrade to Blade 2.1.2.RELEASE (#7341)

* upgrade blade version

* upgrade blade version

* upgrade blade version

* upgrade blade version

* upgrade blade version

* fixed queries type

* fixed context invoke order

* fixed context invoke order
見える 3 роки тому
батько
коміт
4b09da7fc8

+ 2 - 2
frameworks/Java/blade/README.md

@@ -9,9 +9,9 @@ This is the Blade portion of a [benchmarking test suite](../) comparing a variet
 
 ## Infrastructure Software Versions
 
-* [Blade 2.0.12.ALPHA](https://github.com/biezhi/blade)
+* [Blade 2.1.2.RELEASE](https://github.com/lets-blade/blade)
 * [Java OpenJDK 1.8](http://openjdk.java.net/)
-* [HikariCP 3.2.0](https://github.com/brettwooldridge/HikariCP)
+* [HikariCP 4.0.3](https://github.com/brettwooldridge/HikariCP)
 
 ## Test URLs
 

+ 9 - 22
frameworks/Java/blade/pom.xml

@@ -14,44 +14,31 @@
         <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
         <maven.compiler.source>11</maven.compiler.source>
         <maven.compiler.target>11</maven.compiler.target>
-        <blade.version>2.0.15.RELEASE</blade.version>
-        <netty.version>4.1.48.Final</netty.version>
-        <anima.version>0.2.6</anima.version>
-        <hikaricp.version>3.4.2</hikaricp.version>
+        <blade.version>2.1.2.RELEASE</blade.version>
+        <netty.version>4.1.76.Final</netty.version>
+        <anima.version>0.3.1</anima.version>
+        <hikaricp.version>4.0.3</hikaricp.version>
         <mysql-conn.version>8.0.18</mysql-conn.version>
-        <blade-jetbrick.version>0.1.3</blade-jetbrick.version>
-        <jetbrick-version>2.1.10</jetbrick-version>
+        <blade-jetbrick.version>0.2.1</blade-jetbrick.version>
     </properties>
 
     <dependencies>
         <dependency>
-            <groupId>com.bladejava</groupId>
-            <artifactId>blade-mvc</artifactId>
+            <groupId>com.hellokaton</groupId>
+            <artifactId>blade-core</artifactId>
             <version>${blade.version}</version>
         </dependency>
 
         <dependency>
-            <groupId>io.github.biezhi</groupId>
+            <groupId>com.hellokaton</groupId>
             <artifactId>anima</artifactId>
             <version>${anima.version}</version>
         </dependency>
 
         <dependency>
-            <groupId>com.bladejava</groupId>
+            <groupId>com.hellokaton</groupId>
             <artifactId>blade-template-jetbrick</artifactId>
             <version>${blade-jetbrick.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.github.subchen</groupId>
-                    <artifactId>jetbrick-template</artifactId>
-                </exclusion>
-			</exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>com.github.subchen</groupId>
-            <artifactId>jetbrick-template</artifactId>
-            <version>${jetbrick-version}</version>
         </dependency>
 
         <dependency>

+ 27 - 21
frameworks/Java/blade/src/main/java/hello/Application.java

@@ -1,9 +1,9 @@
 package hello;
 
-import com.blade.Blade;
-import com.blade.mvc.Const;
-import com.blade.mvc.RouteContext;
-import com.blade.mvc.http.StringBody;
+import com.hellokaton.blade.Blade;
+import com.hellokaton.blade.mvc.RouteContext;
+import com.hellokaton.blade.mvc.http.StringBody;
+import com.hellokaton.blade.mvc.BladeConst;
 import hello.model.Fortune;
 import hello.model.Message;
 import hello.model.World;
@@ -12,23 +12,22 @@ import java.util.List;
 import java.util.concurrent.ThreadLocalRandom;
 import java.util.stream.Stream;
 
-import static io.github.biezhi.anima.Anima.select;
-import static io.github.biezhi.anima.Anima.update;
+import static com.hellokaton.anima.Anima.select;
+import static com.hellokaton.anima.Anima.update;
+import static com.hellokaton.blade.mvc.BladeConst.ENV_KEY_REQUEST_LOG;
 import static java.util.Comparator.comparing;
 import static java.util.stream.Collectors.toList;
 
 /**
  * Blade Application
  *
- * @author biezhi
- * @date 2018/10/17
+ * @author hellokaton
+ * @date 2022/5/10
  */
 public class Application {
 
     private static final StringBody PLAINTEXT      = StringBody.of("Hello, World!");
     private static final String JSON_CONTENT_TYPE  = "application/json";
-    private static final String SERVER_HEADER      = "Server";
-    private static final String SERVER_VALUE       = "Blade-" + Const.VERSION;
     private static final String ADDITIONAL_FORTUNE = "Additional fortune added at request time.";
 
     private static final int DB_ROWS = 10000;
@@ -54,22 +53,24 @@ public class Application {
 
     private static void db(RouteContext ctx) {
         World world = select().from(World.class).byId(generateId());
-        ctx.json(world).contentType(JSON_CONTENT_TYPE).header(SERVER_HEADER, SERVER_VALUE);
+        ctx.contentType(JSON_CONTENT_TYPE)
+                .json(world);
     }
 
     private static void queries(RouteContext ctx) {
-        int queries = getQueries(ctx.fromString("queries", "1"));
+        int queries = getQueries(ctx.query("queries", "1"));
 
         List<Integer> idList = generateIdList(queries);
 
         List<World> worlds = idList.stream()
                 .map(id -> select().from(World.class).byId(id))
                 .collect(toList());
-        ctx.json(worlds).contentType(JSON_CONTENT_TYPE).header(SERVER_HEADER, SERVER_VALUE);
+        ctx.contentType(JSON_CONTENT_TYPE)
+                .json(worlds);
     }
 
     private static void updates(RouteContext ctx) {
-        int queries = getQueries(ctx.fromString("queries", "1"));
+        int queries = getQueries(ctx.query("queries", "1"));
 
         List<Integer> idList = generateIdList(queries);
 
@@ -77,7 +78,8 @@ public class Application {
                 .map(id -> select().from(World.class).byId(id))
                 .peek(Application::updateWorld).collect(toList());
 
-        ctx.json(worlds).contentType(JSON_CONTENT_TYPE).header(SERVER_HEADER, SERVER_VALUE);
+        ctx.contentType(JSON_CONTENT_TYPE)
+                .json(worlds);
     }
 
     private static void updateWorld(World world) {
@@ -98,21 +100,25 @@ public class Application {
         fortunes.sort(comparing(Fortune::getMessage));
 
         ctx.attribute("fortunes", fortunes);
-        ctx.header(SERVER_HEADER, SERVER_VALUE);
         ctx.render("fortunes.html");
     }
 
     public static void main(String[] args) {
-        Blade.of()
-                .get("/json", ctx -> ctx.json(new Message()).contentType(JSON_CONTENT_TYPE)
-                        .header(SERVER_HEADER, SERVER_VALUE))
-                .get("/plaintext", ctx -> ctx.body(PLAINTEXT).contentType("text/plain")
-                        .header(SERVER_HEADER, SERVER_VALUE))
+        Blade.create()
+                .get("/json", ctx ->
+                        ctx.contentType(JSON_CONTENT_TYPE)
+                        .json(new Message())
+                )
+                .get("/plaintext", ctx ->
+                        ctx.contentType("text/plain")
+                        .body(PLAINTEXT)
+                )
                 .get("/db", Application::db)
                 .get("/queries", Application::queries)
                 .get("/updates", Application::updates)
                 .get("/fortunes", Application::fortunes)
                 .disableSession()
+                .setEnv(ENV_KEY_REQUEST_LOG, false)
                 .start(Application.class, args);
     }
 

+ 13 - 13
frameworks/Java/blade/src/main/java/hello/Bootstrap.java

@@ -1,18 +1,18 @@
 package hello;
 
-import com.blade.Blade;
-import com.blade.ioc.annotation.Bean;
-import com.blade.loader.BladeLoader;
-import com.blade.mvc.view.template.JetbrickTemplateEngine;
+import com.hellokaton.anima.Anima;
+import com.hellokaton.blade.Blade;
+import com.hellokaton.blade.ioc.annotation.Bean;
+import com.hellokaton.blade.loader.BladeLoader;
+import com.hellokaton.blade.template.JetbrickTemplateEngine;
 import com.zaxxer.hikari.HikariConfig;
 import com.zaxxer.hikari.HikariDataSource;
-import io.github.biezhi.anima.Anima;
 
 /**
  * Application Bootstrap
  *
- * @author biezhi
- * @date 2018/10/17
+ * @author hellokaton
+ * @date 2022/5/10
  */
 @Bean
 public class Bootstrap implements BladeLoader {
@@ -25,12 +25,12 @@ public class Bootstrap implements BladeLoader {
 
             HikariConfig config = new HikariConfig();
 
-            String url                   = blade.env("jdbc.url", "");
-            String username              = blade.env("jdbc.username", "");
-            String password              = blade.env("jdbc.password", "");
-            String cachePrepStmts        = blade.env("datasource.cachePrepStmts", "true");
-            String prepStmtCacheSize     = blade.env("datasource.prepStmtCacheSize", "250");
-            String prepStmtCacheSqlLimit = blade.env("datasource.prepStmtCacheSqlLimit", "2048");
+            String url                   = blade.getEnv("jdbc.url", "");
+            String username              = blade.getEnv("jdbc.username", "");
+            String password              = blade.getEnv("jdbc.password", "");
+            String cachePrepStmts        = blade.getEnv("datasource.cachePrepStmts", "true");
+            String prepStmtCacheSize     = blade.getEnv("datasource.prepStmtCacheSize", "250");
+            String prepStmtCacheSqlLimit = blade.getEnv("datasource.prepStmtCacheSqlLimit", "2048");
 
             config.setJdbcUrl(url);
             config.setUsername(username);

+ 3 - 2
frameworks/Java/blade/src/main/java/hello/model/Fortune.java

@@ -1,7 +1,8 @@
 package hello.model;
 
-import io.github.biezhi.anima.Model;
-import io.github.biezhi.anima.annotation.Table;
+
+import com.hellokaton.anima.Model;
+import com.hellokaton.anima.annotation.Table;
 
 @Table(name = "fortune")
 public class Fortune extends Model {

+ 4 - 3
frameworks/Java/blade/src/main/java/hello/model/World.java

@@ -1,8 +1,9 @@
 package hello.model;
 
-import io.github.biezhi.anima.Model;
-import io.github.biezhi.anima.annotation.Column;
-import io.github.biezhi.anima.annotation.Table;
+
+import com.hellokaton.anima.Model;
+import com.hellokaton.anima.annotation.Column;
+import com.hellokaton.anima.annotation.Table;
 
 /**
  * World model