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

This commit is contained in:
xuxueli 2020-06-11 10:20:42 +08:00
parent 16ba18eafc
commit 17b416ca07
6 changed files with 19 additions and 13 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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