Browse Source

update magician (#7443)

* test martian

* martian

* martian

* add readme.md

* edit dockerfile

* edit dockerfile

* edit dockerfile

* test martian

* test martian

* test martian

* test martian

* test martian

* test martian

* test martian

* add martian

* update martian

* update martian

* update martian

* update martian

* update martian

* update martian

* update martian

* update martian

* update martian

* update martian

* update martian

* update martian

* update martian

* update martian

* update martian

* update martian

* update martian

* update martian

* update martian

* add magician framework

* add magician framework

* add magician framework

* add magician framework

* add magician framework

* add magician framework

* add magician framework

* update martian

* update magician framework

* update magician framework

* update magician framework

* update martian

* update martian

* update version
Beerus 3 years ago
parent
commit
925e0e47a4

+ 1 - 1
frameworks/Java/magician-io/README.md

@@ -5,7 +5,7 @@ This is Magician's official website address[http://magician-io.com](http://magic
 ## Versions
 
 - Java OpenJDK 1.8
-- Martian 3.2.13
+- Magician 2.0.3
 
 ##Test URLs
 ### JSON Encoding Test

+ 2 - 2
frameworks/Java/magician-io/pom.xml

@@ -18,13 +18,13 @@
         <dependency>
             <groupId>com.github.yuyenews</groupId>
             <artifactId>Magician</artifactId>
-            <version>1.1.15</version>
+            <version>2.0.3</version>
         </dependency>
 
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>fastjson</artifactId>
-            <version>1.2.83</version>
+            <version>2.0.8</version>
         </dependency>
 
 

+ 12 - 10
frameworks/Java/magician-io/src/main/java/com/test/io/Start.java

@@ -1,13 +1,11 @@
 package com.test.io;
 
-import com.test.io.handler.JsonHandler;
-import com.test.io.handler.TextHandler;
 import io.magician.Magician;
-import io.magician.common.event.EventGroup;
+import io.magician.common.config.MagicianConfig;
+import io.magician.network.HttpServer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.concurrent.Executors;
 
 public class Start {
 
@@ -16,13 +14,17 @@ public class Start {
     public static void main(String[] args) {
         try {
 
-            EventGroup ioEventGroup = new EventGroup(1, Executors.newCachedThreadPool());
-            EventGroup workerEventGroup = new EventGroup(4, Executors.newCachedThreadPool());
+            MagicianConfig magicianConfig = new MagicianConfig();
+            magicianConfig.setNumberOfPorts(1);
+            magicianConfig.setBossThreads(3);
+            magicianConfig.setWorkThreads(5);
 
-            Magician.createTCPServer(ioEventGroup, workerEventGroup)
-                    .handler("/json", new JsonHandler())
-                    .handler("/plaintext", new TextHandler())
-                    .bind(8080, 10000);
+
+            HttpServer httpServer = Magician.createHttp()
+                    .scan("com.test.io")
+                    .setConfig(magicianConfig);
+
+            httpServer.bind(8080);
 
         } catch (Exception e){
             logger.error("启动服务出现异常", e);

+ 16 - 8
frameworks/Java/magician-io/src/main/java/com/test/io/handler/JsonHandler.java

@@ -2,27 +2,35 @@ package com.test.io.handler;
 
 import com.alibaba.fastjson.JSON;
 import com.test.io.vo.MessageVO;
-import io.magician.tcp.codec.impl.http.request.MagicianRequest;
-import io.magician.tcp.handler.MagicianHandler;
+import io.magician.application.request.MagicianRequest;
+import io.magician.application.request.MagicianResponse;
+import io.magician.common.annotation.HttpHandler;
+import io.magician.network.handler.HttpBaseHandler;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Locale;
 
-public class JsonHandler implements MagicianHandler<MagicianRequest> {
+@HttpHandler(path = "/json")
+public class JsonHandler implements HttpBaseHandler {
 
     private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("E, dd MMM yyyy H:m:s z", Locale.US);
 
+
     @Override
-    public void request(MagicianRequest magicianRequest) {
+    public void request(MagicianRequest magicianRequest, MagicianResponse magicianResponse) {
         String str = simpleDateFormat.format(new Date());
 
         MessageVO messageVO = new MessageVO();
         messageVO.setMessage("Hello, World!");
 
-        magicianRequest.getResponse()
-                .setResponseHeader("Server","magician")
-                .setResponseHeader("Date", str)
-                .sendJson(200, JSON.toJSONString(messageVO));
+        try {
+            magicianResponse
+                    .setResponseHeader("Server","magician")
+                    .setResponseHeader("Date", str)
+                    .sendJson(JSON.toJSONString(messageVO));
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
     }
 }

+ 16 - 8
frameworks/Java/magician-io/src/main/java/com/test/io/handler/TextHandler.java

@@ -1,23 +1,31 @@
 package com.test.io.handler;
 
-import io.magician.tcp.codec.impl.http.request.MagicianRequest;
-import io.magician.tcp.handler.MagicianHandler;
+import io.magician.application.request.MagicianRequest;
+import io.magician.application.request.MagicianResponse;
+import io.magician.common.annotation.HttpHandler;
+import io.magician.network.handler.HttpBaseHandler;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Locale;
 
-public class TextHandler implements MagicianHandler<MagicianRequest> {
+@HttpHandler(path = "plaintext")
+public class TextHandler implements HttpBaseHandler {
 
     private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("E, dd MMM yyyy H:m:s z", Locale.US);
 
+
     @Override
-    public void request(MagicianRequest magicianRequest) {
+    public void request(MagicianRequest magicianRequest, MagicianResponse magicianResponse) {
         String str = simpleDateFormat.format(new Date());
 
-        magicianRequest.getResponse()
-                .setResponseHeader("Server","magician")
-                .setResponseHeader("Date", str)
-                .sendText(200, "Hello, World!");
+        try {
+            magicianRequest.getResponse()
+                    .setResponseHeader("Server","magician")
+                    .setResponseHeader("Date", str)
+                    .sendText("Hello, World!");
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
     }
 }