Sfoglia il codice sorgente

replace jsonutil (#7032)

* update smart-servlet to 0.1.3-SNAPSHOT

* update aio-enhance to 1.0.3-SNAPSHOT

* smart-servlet bugfix

* bugfix

* update smart-socket to 1.5.6-SNAPSHOT

* remove file

* update aio-enhance to 1.0.4-SNAPSHOT

* 优化代码

* 优化代码

* update smart-socket to 1.5.6

* config threadNum

* update smart-socket to 1.5.7-SNAPSHOT

* 优化代码

* update smart-socket to 1.5.10-SNAPSHOT

* 优化代码

* 优化代码

* 优化代码

* 异常aio-enhance

* 优化代码

* 优化代码

* 优化代码

* remove aio-pro

* remove headerLimiter

* update hikaricp version

* replace json util
三刀 3 anni fa
parent
commit
1af7ea1aaf

+ 5 - 0
frameworks/Java/smart-socket/pom.xml

@@ -17,6 +17,11 @@
     </properties>
 
     <dependencies>
+        <dependency>
+            <groupId>io.edap</groupId>
+            <artifactId>edapx-json</artifactId>
+            <version>0.1-SNAPSHOT</version>
+        </dependency>
         <dependency>
             <groupId>org.smartboot.servlet</groupId>
             <artifactId>servlet-core</artifactId>

+ 42 - 19
frameworks/Java/smart-socket/src/main/java/org/smartboot/http/JsonUtil.java

@@ -1,9 +1,8 @@
 package org.smartboot.http;
 
-import com.jsoniter.output.JsonStream;
-import com.jsoniter.output.JsonStreamPool;
 import com.jsoniter.spi.JsonException;
-import com.jsoniter.spi.Slice;
+import io.edap.x.json.Eson;
+import io.edap.x.json.JsonWriter;
 import org.smartboot.http.server.HttpResponse;
 
 import javax.servlet.http.HttpServletResponse;
@@ -15,32 +14,56 @@ import java.io.IOException;
  */
 public class JsonUtil {
     public static void writeJsonBytes(HttpResponse httpResponse, Object obj) {
-        JsonStream stream = JsonStreamPool.borrowJsonStream();
+        JsonWriter writer = Eson.THREAD_WRITER.get();
         try {
-            stream.reset(null);
-            stream.writeVal(obj.getClass(), obj);
-            Slice slice = stream.buffer();
-            httpResponse.setContentLength(slice.tail());
-            httpResponse.getOutputStream().write(slice.data(), 0, slice.tail());
+            writer.reset();
+            Eson.serialize(obj, writer);
+            httpResponse.setContentLength(writer.size());
+            writer.toStream(httpResponse.getOutputStream());
         } catch (IOException e) {
             throw new JsonException(e);
-        } finally {
-            JsonStreamPool.returnJsonStream(stream);
         }
     }
 
+//    public static void writeJsonBytes(HttpResponse httpResponse, Object obj) {
+//        JsonStream stream = JsonStreamPool.borrowJsonStream();
+//        try {
+//            stream.reset(null);
+//            stream.writeVal(obj.getClass(), obj);
+//            Slice slice = stream.buffer();
+//            httpResponse.setContentLength(slice.tail());
+//            httpResponse.getOutputStream().write(slice.data(), 0, slice.tail());
+//        } catch (IOException e) {
+//            throw new JsonException(e);
+//        } finally {
+//            JsonStreamPool.returnJsonStream(stream);
+//        }
+//    }
+
+//    public static void writeJsonBytes(HttpServletResponse httpResponse, Object obj) {
+//        JsonStream stream = JsonStreamPool.borrowJsonStream();
+//        try {
+//            stream.reset(null);
+//            stream.writeVal(obj.getClass(), obj);
+//            Slice slice = stream.buffer();
+//            httpResponse.setContentLength(slice.tail());
+//            httpResponse.getOutputStream().write(slice.data(), 0, slice.tail());
+//        } catch (IOException e) {
+//            throw new JsonException(e);
+//        } finally {
+//            JsonStreamPool.returnJsonStream(stream);
+//        }
+//    }
+
     public static void writeJsonBytes(HttpServletResponse httpResponse, Object obj) {
-        JsonStream stream = JsonStreamPool.borrowJsonStream();
+        JsonWriter writer = Eson.THREAD_WRITER.get();
         try {
-            stream.reset(null);
-            stream.writeVal(obj.getClass(), obj);
-            Slice slice = stream.buffer();
-            httpResponse.setContentLength(slice.tail());
-            httpResponse.getOutputStream().write(slice.data(), 0, slice.tail());
+            writer.reset();
+            Eson.serialize(obj, writer);
+            httpResponse.setContentLength(writer.size());
+            writer.toStream(httpResponse.getOutputStream());
         } catch (IOException e) {
             throw new JsonException(e);
-        } finally {
-            JsonStreamPool.returnJsonStream(stream);
         }
     }
 }