Browse Source

通用HTTP任务Handler(httpJobHandler)优化:修复 "setDoOutput(true)" 导致任务请求GetMethod失效问题;

xuxueli 5 years ago
parent
commit
17b416ca07

+ 3 - 2
xxl-job-executor-samples/xxl-job-executor-sample-frameless/src/main/java/com/xuxueli/executor/sample/frameless/jobhandler/HttpJobHandler.java

@@ -51,6 +51,7 @@ public class HttpJobHandler extends IJobHandler {
 			XxlJobLogger.log("method["+ method +"] invalid.");
 			return ReturnT.FAIL;
 		}
+		boolean isPostMethod = method.equals("POST");
 
 		// request
 		HttpURLConnection connection = null;
@@ -62,7 +63,7 @@ public class HttpJobHandler extends IJobHandler {
 
 			// connection setting
 			connection.setRequestMethod(method);
-			connection.setDoOutput(true);
+			connection.setDoOutput(isPostMethod);
 			connection.setDoInput(true);
 			connection.setUseCaches(false);
 			connection.setReadTimeout(5 * 1000);
@@ -75,7 +76,7 @@ public class HttpJobHandler extends IJobHandler {
 			connection.connect();
 
 			// data
-			if (data!=null && data.trim().length()>0) {
+			if (isPostMethod && data!=null && data.trim().length()>0) {
 				DataOutputStream dataOutputStream = new DataOutputStream(connection.getOutputStream());
 				dataOutputStream.write(data.getBytes("UTF-8"));
 				dataOutputStream.flush();

+ 4 - 3
xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/java/com/xuxueli/executor/sample/jboot/jobhandler/HttpJobHandler.java

@@ -51,8 +51,9 @@ public class HttpJobHandler extends IJobHandler {
             XxlJobLogger.log("method["+ method +"] invalid.");
             return ReturnT.FAIL;
         }
+        boolean isPostMethod = method.equals("POST");
 
-        // request
+                // request
         HttpURLConnection connection = null;
         BufferedReader bufferedReader = null;
         try {
@@ -62,7 +63,7 @@ public class HttpJobHandler extends IJobHandler {
 
             // connection setting
             connection.setRequestMethod(method);
-            connection.setDoOutput(true);
+            connection.setDoOutput(isPostMethod);
             connection.setDoInput(true);
             connection.setUseCaches(false);
             connection.setReadTimeout(5 * 1000);
@@ -75,7 +76,7 @@ public class HttpJobHandler extends IJobHandler {
             connection.connect();
 
             // data
-            if (data!=null && data.trim().length()>0) {
+            if (isPostMethod && data!=null && data.trim().length()>0) {
                 DataOutputStream dataOutputStream = new DataOutputStream(connection.getOutputStream());
                 dataOutputStream.write(data.getBytes("UTF-8"));
                 dataOutputStream.flush();

+ 3 - 2
xxl-job-executor-samples/xxl-job-executor-sample-jfinal/src/main/java/com/xuxueli/executor/sample/jfinal/jobhandler/HttpJobHandler.java

@@ -51,6 +51,7 @@ public class HttpJobHandler extends IJobHandler {
             XxlJobLogger.log("method["+ method +"] invalid.");
             return ReturnT.FAIL;
         }
+        boolean isPostMethod = method.equals("POST");
 
         // request
         HttpURLConnection connection = null;
@@ -62,7 +63,7 @@ public class HttpJobHandler extends IJobHandler {
 
             // connection setting
             connection.setRequestMethod(method);
-            connection.setDoOutput(true);
+            connection.setDoOutput(isPostMethod);
             connection.setDoInput(true);
             connection.setUseCaches(false);
             connection.setReadTimeout(5 * 1000);
@@ -75,7 +76,7 @@ public class HttpJobHandler extends IJobHandler {
             connection.connect();
 
             // data
-            if (data!=null && data.trim().length()>0) {
+            if (isPostMethod && data!=null && data.trim().length()>0) {
                 DataOutputStream dataOutputStream = new DataOutputStream(connection.getOutputStream());
                 dataOutputStream.write(data.getBytes("UTF-8"));
                 dataOutputStream.flush();

+ 3 - 2
xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/java/com/xuxueli/executor/sample/nutz/jobhandler/HttpJobHandler.java

@@ -51,6 +51,7 @@ public class HttpJobHandler extends IJobHandler {
             XxlJobLogger.log("method["+ method +"] invalid.");
             return ReturnT.FAIL;
         }
+        boolean isPostMethod = method.equals("POST");
 
         // request
         HttpURLConnection connection = null;
@@ -62,7 +63,7 @@ public class HttpJobHandler extends IJobHandler {
 
             // connection setting
             connection.setRequestMethod(method);
-            connection.setDoOutput(true);
+            connection.setDoOutput(isPostMethod);
             connection.setDoInput(true);
             connection.setUseCaches(false);
             connection.setReadTimeout(5 * 1000);
@@ -75,7 +76,7 @@ public class HttpJobHandler extends IJobHandler {
             connection.connect();
 
             // data
-            if (data!=null && data.trim().length()>0) {
+            if (isPostMethod && data!=null && data.trim().length()>0) {
                 DataOutputStream dataOutputStream = new DataOutputStream(connection.getOutputStream());
                 dataOutputStream.write(data.getBytes("UTF-8"));
                 dataOutputStream.flush();

+ 3 - 2
xxl-job-executor-samples/xxl-job-executor-sample-spring/src/main/java/com/xxl/job/executor/service/jobhandler/SampleXxlJob.java

@@ -151,6 +151,7 @@ public class SampleXxlJob {
             XxlJobLogger.log("method["+ method +"] invalid.");
             return ReturnT.FAIL;
         }
+        boolean isPostMethod = method.equals("POST");
 
         // request
         HttpURLConnection connection = null;
@@ -162,7 +163,7 @@ public class SampleXxlJob {
 
             // connection setting
             connection.setRequestMethod(method);
-            connection.setDoOutput(true);
+            connection.setDoOutput(isPostMethod);
             connection.setDoInput(true);
             connection.setUseCaches(false);
             connection.setReadTimeout(5 * 1000);
@@ -175,7 +176,7 @@ public class SampleXxlJob {
             connection.connect();
 
             // data
-            if (data!=null && data.trim().length()>0) {
+            if (isPostMethod && data!=null && data.trim().length()>0) {
                 DataOutputStream dataOutputStream = new DataOutputStream(connection.getOutputStream());
                 dataOutputStream.write(data.getBytes("UTF-8"));
                 dataOutputStream.flush();

+ 3 - 2
xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/service/jobhandler/SampleXxlJob.java

@@ -151,6 +151,7 @@ public class SampleXxlJob {
             XxlJobLogger.log("method["+ method +"] invalid.");
             return ReturnT.FAIL;
         }
+        boolean isPostMethod = method.equals("POST");
 
         // request
         HttpURLConnection connection = null;
@@ -162,7 +163,7 @@ public class SampleXxlJob {
 
             // connection setting
             connection.setRequestMethod(method);
-            connection.setDoOutput(true);
+            connection.setDoOutput(isPostMethod);
             connection.setDoInput(true);
             connection.setUseCaches(false);
             connection.setReadTimeout(5 * 1000);
@@ -175,7 +176,7 @@ public class SampleXxlJob {
             connection.connect();
 
             // data
-            if (data!=null && data.trim().length()>0) {
+            if (isPostMethod && data!=null && data.trim().length()>0) {
                 DataOutputStream dataOutputStream = new DataOutputStream(connection.getOutputStream());
                 dataOutputStream.write(data.getBytes("UTF-8"));
                 dataOutputStream.flush();