From 7e17692d14af2ae97016cc2dc3675956d19dda6c Mon Sep 17 00:00:00 2001
From: pengys5 <8082209@qq.com>
Date: Wed, 7 Jun 2017 16:31:27 +0800
Subject: [PATCH] add comment
---
.../worker/httpserver/AbstractPost.java | 18 +++++++++++++++++-
.../segment/entity/SegmentDeserialize.java | 18 ++++++++++++++++++
2 files changed, 35 insertions(+), 1 deletion(-)
diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractPost.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractPost.java
index 8fd75ea77c..b79e47d914 100644
--- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractPost.java
+++ b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractPost.java
@@ -20,7 +20,6 @@ import org.skywalking.apm.collector.worker.segment.entity.SegmentDeserialize;
/**
* @author pengys5
*/
-
public abstract class AbstractPost extends AbstractLocalAsyncWorker {
public AbstractPost(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) {
@@ -43,6 +42,16 @@ public abstract class AbstractPost extends AbstractLocalAsyncWorker {
this.ownerWorkerRef = ownerWorkerRef;
}
+ /**
+ * Get segment's buffer from request then execute deserialize operation.
+ *
+ * @param request an {@link HttpServletRequest} object that contains the request the client has made of the
+ * servlet
+ * @param response {@link HttpServletResponse} object that contains the response the servlet sends to the
+ * client
+ * @throws ServletException if the request for the POST could not be handled
+ * @throws IOException if an input or output error is detected when the servlet handles the request
+ */
@Override final protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
JsonObject resJson = new JsonObject();
@@ -57,6 +66,13 @@ public abstract class AbstractPost extends AbstractLocalAsyncWorker {
}
}
+ /**
+ * Read segment's buffer from buffer reader by stream mode. when finish read one segment then send to analysis.
+ * This method in there, so post servlet just can receive segments data.
+ *
+ * @param bufferedReader an {@link BufferedReader} object that contains the segment's data using the construct of chars.
+ * @throws Exception
+ */
private void streamReader(BufferedReader bufferedReader) throws Exception {
Segment segment;
do {
diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/entity/SegmentDeserialize.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/entity/SegmentDeserialize.java
index 9846d4af6e..5a747f7bf9 100644
--- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/entity/SegmentDeserialize.java
+++ b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/entity/SegmentDeserialize.java
@@ -8,18 +8,36 @@ import java.util.ArrayList;
import java.util.List;
/**
+ * The SegmentDeserialize
provides single segment json string deserialize and segment array file
+ * deserialize.
+ *
* @author pengys5
+ * @since v3.0-2017
*/
public enum SegmentDeserialize {
INSTANCE;
private final Gson gson = new Gson();
+ /**
+ * Single segment json string deserialize.
+ *
+ * @param singleSegmentJsonStr a segment json string
+ * @return an {@link Segment}
+ * @throws IOException if json string illegal or file broken.
+ */
public Segment deserializeSingle(String singleSegmentJsonStr) throws IOException {
Segment segment = gson.fromJson(singleSegmentJsonStr, Segment.class);
return segment;
}
+ /**
+ * Read a json array file contains multiple segments.
+ *
+ * @param segmentJsonFile a segments json array file path
+ * @return on {@link List}
+ * @throws Exception if json data illegal or file broken.
+ */
public List deserializeMultiple(String segmentJsonFile) throws Exception {
List segmentList = new ArrayList<>();
streamReader(segmentList, new FileReader(segmentJsonFile));
--
GitLab