httpjobhandler optimize
This commit is contained in:
parent
5492b70e4b
commit
573facc050
|
@ -121,7 +121,7 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_registryList}<font color="red">*</font></label>
|
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_registryList}<font color="red">*</font></label>
|
||||||
<div class="col-sm-10">
|
<div class="col-sm-10">
|
||||||
<textarea class="textarea" name="addressList" maxlength="512" placeholder="${I18n.jobgroup_field_registryList_placeholder}" readonly="readonly" style="background-color:#eee; width: 100%; height: 100px; font-size: 14px; line-height: 10px; border: 1px solid #dddddd; padding: 10px;"></textarea>
|
<textarea class="textarea" name="addressList" maxlength="512" placeholder="${I18n.jobgroup_field_registryList_placeholder}" readonly="readonly" style="background-color:#eee; width: 100%; height: 100px; font-size: 14px; line-height: 15px; border: 1px solid #dddddd; padding: 5px;"></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -169,7 +169,7 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_registryList}<font color="red">*</font></label>
|
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_registryList}<font color="red">*</font></label>
|
||||||
<div class="col-sm-10">
|
<div class="col-sm-10">
|
||||||
<textarea class="textarea" name="addressList" maxlength="512" placeholder="${I18n.jobgroup_field_registryList_placeholder}" readonly="readonly" style="background-color:#eee; width: 100%; height: 100px; font-size: 14px; line-height: 10px; border: 1px solid #dddddd; padding: 10px;"></textarea>
|
<textarea class="textarea" name="addressList" maxlength="512" placeholder="${I18n.jobgroup_field_registryList_placeholder}" readonly="readonly" style="background-color:#eee; width: 100%; height: 100px; font-size: 14px; line-height: 15px; border: 1px solid #dddddd; padding: 5px;"></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
|
@ -3,13 +3,11 @@ package com.xuxueli.executor.sample.frameless.jobhandler;
|
||||||
import com.xxl.job.core.biz.model.ReturnT;
|
import com.xxl.job.core.biz.model.ReturnT;
|
||||||
import com.xxl.job.core.handler.IJobHandler;
|
import com.xxl.job.core.handler.IJobHandler;
|
||||||
import com.xxl.job.core.log.XxlJobLogger;
|
import com.xxl.job.core.log.XxlJobLogger;
|
||||||
import org.eclipse.jetty.client.HttpClient;
|
|
||||||
import org.eclipse.jetty.client.api.ContentResponse;
|
|
||||||
import org.eclipse.jetty.client.api.Request;
|
|
||||||
import org.eclipse.jetty.http.HttpMethod;
|
|
||||||
import org.eclipse.jetty.http.HttpStatus;
|
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.io.BufferedReader;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 跨平台Http任务
|
* 跨平台Http任务
|
||||||
|
@ -27,34 +25,60 @@ public class HttpJobHandler extends IJobHandler {
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
// httpclient
|
|
||||||
HttpClient httpClient = null;
|
|
||||||
try {
|
|
||||||
httpClient = new HttpClient();
|
|
||||||
httpClient.setFollowRedirects(false); // Configure HttpClient, for example:
|
|
||||||
httpClient.start(); // Start HttpClient
|
|
||||||
|
|
||||||
// request
|
// request
|
||||||
Request request = httpClient.newRequest(param);
|
HttpURLConnection connection = null;
|
||||||
request.method(HttpMethod.GET);
|
BufferedReader bufferedReader = null;
|
||||||
request.timeout(5000, TimeUnit.MILLISECONDS);
|
try {
|
||||||
|
// connection
|
||||||
|
URL realUrl = new URL(param);
|
||||||
|
connection = (HttpURLConnection) realUrl.openConnection();
|
||||||
|
|
||||||
// invoke
|
// connection setting
|
||||||
ContentResponse response = request.send();
|
connection.setRequestMethod("GET");
|
||||||
if (response.getStatus() != HttpStatus.OK_200) {
|
connection.setDoOutput(true);
|
||||||
XxlJobLogger.log("Http StatusCode({}) Invalid.", response.getStatus());
|
connection.setDoInput(true);
|
||||||
return FAIL;
|
connection.setUseCaches(false);
|
||||||
|
connection.setReadTimeout(5 * 1000);
|
||||||
|
connection.setConnectTimeout(3 * 1000);
|
||||||
|
connection.setRequestProperty("connection", "Keep-Alive");
|
||||||
|
connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
|
||||||
|
connection.setRequestProperty("Accept-Charset", "application/json;charset=UTF-8");
|
||||||
|
|
||||||
|
// do connection
|
||||||
|
connection.connect();
|
||||||
|
|
||||||
|
//Map<String, List<String>> map = connection.getHeaderFields();
|
||||||
|
|
||||||
|
// valid StatusCode
|
||||||
|
int statusCode = connection.getResponseCode();
|
||||||
|
if (statusCode != 200) {
|
||||||
|
throw new RuntimeException("Http Request StatusCode("+ statusCode +") Invalid.");
|
||||||
}
|
}
|
||||||
|
|
||||||
String responseMsg = response.getContentAsString();
|
// result
|
||||||
|
bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
|
||||||
|
StringBuilder result = new StringBuilder();
|
||||||
|
String line;
|
||||||
|
while ((line = bufferedReader.readLine()) != null) {
|
||||||
|
result.append(line);
|
||||||
|
}
|
||||||
|
String responseMsg = result.toString();
|
||||||
|
|
||||||
XxlJobLogger.log(responseMsg);
|
XxlJobLogger.log(responseMsg);
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
XxlJobLogger.log(e);
|
XxlJobLogger.log(e);
|
||||||
return FAIL;
|
return FAIL;
|
||||||
} finally {
|
} finally {
|
||||||
if (httpClient != null) {
|
try {
|
||||||
httpClient.stop();
|
if (bufferedReader != null) {
|
||||||
|
bufferedReader.close();
|
||||||
|
}
|
||||||
|
if (connection != null) {
|
||||||
|
connection.disconnect();
|
||||||
|
}
|
||||||
|
} catch (Exception e2) {
|
||||||
|
XxlJobLogger.log(e2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,13 +3,11 @@ package com.xuxueli.executor.sample.jfinal.jobhandler;
|
||||||
import com.xxl.job.core.biz.model.ReturnT;
|
import com.xxl.job.core.biz.model.ReturnT;
|
||||||
import com.xxl.job.core.handler.IJobHandler;
|
import com.xxl.job.core.handler.IJobHandler;
|
||||||
import com.xxl.job.core.log.XxlJobLogger;
|
import com.xxl.job.core.log.XxlJobLogger;
|
||||||
import org.eclipse.jetty.client.HttpClient;
|
|
||||||
import org.eclipse.jetty.client.api.ContentResponse;
|
|
||||||
import org.eclipse.jetty.client.api.Request;
|
|
||||||
import org.eclipse.jetty.http.HttpMethod;
|
|
||||||
import org.eclipse.jetty.http.HttpStatus;
|
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.io.BufferedReader;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 跨平台Http任务
|
* 跨平台Http任务
|
||||||
|
@ -21,40 +19,60 @@ public class HttpJobHandler extends IJobHandler {
|
||||||
@Override
|
@Override
|
||||||
public ReturnT<String> execute(String param) throws Exception {
|
public ReturnT<String> execute(String param) throws Exception {
|
||||||
|
|
||||||
// valid
|
|
||||||
if (param==null || param.trim().length()==0) {
|
|
||||||
XxlJobLogger.log("URL Empty");
|
|
||||||
return FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
// httpclient
|
|
||||||
HttpClient httpClient = null;
|
|
||||||
try {
|
|
||||||
httpClient = new HttpClient();
|
|
||||||
httpClient.setFollowRedirects(false); // Configure HttpClient, for example:
|
|
||||||
httpClient.start(); // Start HttpClient
|
|
||||||
|
|
||||||
// request
|
// request
|
||||||
Request request = httpClient.newRequest(param);
|
HttpURLConnection connection = null;
|
||||||
request.method(HttpMethod.GET);
|
BufferedReader bufferedReader = null;
|
||||||
request.timeout(5000, TimeUnit.MILLISECONDS);
|
try {
|
||||||
|
// connection
|
||||||
|
URL realUrl = new URL(param);
|
||||||
|
connection = (HttpURLConnection) realUrl.openConnection();
|
||||||
|
|
||||||
// invoke
|
// connection setting
|
||||||
ContentResponse response = request.send();
|
connection.setRequestMethod("GET");
|
||||||
if (response.getStatus() != HttpStatus.OK_200) {
|
connection.setDoOutput(true);
|
||||||
XxlJobLogger.log("Http StatusCode({}) Invalid.", response.getStatus());
|
connection.setDoInput(true);
|
||||||
return FAIL;
|
connection.setUseCaches(false);
|
||||||
|
connection.setReadTimeout(5 * 1000);
|
||||||
|
connection.setConnectTimeout(3 * 1000);
|
||||||
|
connection.setRequestProperty("connection", "Keep-Alive");
|
||||||
|
connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
|
||||||
|
connection.setRequestProperty("Accept-Charset", "application/json;charset=UTF-8");
|
||||||
|
|
||||||
|
// do connection
|
||||||
|
connection.connect();
|
||||||
|
|
||||||
|
//Map<String, List<String>> map = connection.getHeaderFields();
|
||||||
|
|
||||||
|
// valid StatusCode
|
||||||
|
int statusCode = connection.getResponseCode();
|
||||||
|
if (statusCode != 200) {
|
||||||
|
throw new RuntimeException("Http Request StatusCode(" + statusCode + ") Invalid.");
|
||||||
}
|
}
|
||||||
|
|
||||||
String responseMsg = response.getContentAsString();
|
// result
|
||||||
|
bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
|
||||||
|
StringBuilder result = new StringBuilder();
|
||||||
|
String line;
|
||||||
|
while ((line = bufferedReader.readLine()) != null) {
|
||||||
|
result.append(line);
|
||||||
|
}
|
||||||
|
String responseMsg = result.toString();
|
||||||
|
|
||||||
XxlJobLogger.log(responseMsg);
|
XxlJobLogger.log(responseMsg);
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
XxlJobLogger.log(e);
|
XxlJobLogger.log(e);
|
||||||
return FAIL;
|
return FAIL;
|
||||||
} finally {
|
} finally {
|
||||||
if (httpClient != null) {
|
try {
|
||||||
httpClient.stop();
|
if (bufferedReader != null) {
|
||||||
|
bufferedReader.close();
|
||||||
|
}
|
||||||
|
if (connection != null) {
|
||||||
|
connection.disconnect();
|
||||||
|
}
|
||||||
|
} catch (Exception e2) {
|
||||||
|
XxlJobLogger.log(e2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,61 +4,79 @@ import com.xxl.job.core.biz.model.ReturnT;
|
||||||
import com.xxl.job.core.handler.IJobHandler;
|
import com.xxl.job.core.handler.IJobHandler;
|
||||||
import com.xxl.job.core.handler.annotation.JobHandler;
|
import com.xxl.job.core.handler.annotation.JobHandler;
|
||||||
import com.xxl.job.core.log.XxlJobLogger;
|
import com.xxl.job.core.log.XxlJobLogger;
|
||||||
import org.eclipse.jetty.client.HttpClient;
|
|
||||||
import org.eclipse.jetty.client.api.ContentResponse;
|
|
||||||
import org.eclipse.jetty.client.api.Request;
|
|
||||||
import org.eclipse.jetty.http.HttpMethod;
|
|
||||||
import org.eclipse.jetty.http.HttpStatus;
|
|
||||||
import org.nutz.ioc.loader.annotation.IocBean;
|
import org.nutz.ioc.loader.annotation.IocBean;
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.io.BufferedReader;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 跨平台Http任务
|
* 跨平台Http任务
|
||||||
*
|
*
|
||||||
* @author xuxueli 2018-09-16 03:48:34
|
* @author xuxueli 2018-09-16 03:48:34
|
||||||
*/
|
*/
|
||||||
@JobHandler(value="httpJobHandler")
|
@JobHandler(value = "httpJobHandler")
|
||||||
@IocBean
|
@IocBean
|
||||||
public class HttpJobHandler extends IJobHandler {
|
public class HttpJobHandler extends IJobHandler {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ReturnT<String> execute(String param) throws Exception {
|
public ReturnT<String> execute(String param) throws Exception {
|
||||||
|
|
||||||
// valid
|
|
||||||
if (param==null || param.trim().length()==0) {
|
|
||||||
XxlJobLogger.log("URL Empty");
|
|
||||||
return FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
// httpclient
|
|
||||||
HttpClient httpClient = null;
|
|
||||||
try {
|
|
||||||
httpClient = new HttpClient();
|
|
||||||
httpClient.setFollowRedirects(false); // Configure HttpClient, for example:
|
|
||||||
httpClient.start(); // Start HttpClient
|
|
||||||
|
|
||||||
// request
|
// request
|
||||||
Request request = httpClient.newRequest(param);
|
HttpURLConnection connection = null;
|
||||||
request.method(HttpMethod.GET);
|
BufferedReader bufferedReader = null;
|
||||||
request.timeout(5000, TimeUnit.MILLISECONDS);
|
try {
|
||||||
|
// connection
|
||||||
|
URL realUrl = new URL(param);
|
||||||
|
connection = (HttpURLConnection) realUrl.openConnection();
|
||||||
|
|
||||||
// invoke
|
// connection setting
|
||||||
ContentResponse response = request.send();
|
connection.setRequestMethod("GET");
|
||||||
if (response.getStatus() != HttpStatus.OK_200) {
|
connection.setDoOutput(true);
|
||||||
XxlJobLogger.log("Http StatusCode({}) Invalid.", response.getStatus());
|
connection.setDoInput(true);
|
||||||
return FAIL;
|
connection.setUseCaches(false);
|
||||||
|
connection.setReadTimeout(5 * 1000);
|
||||||
|
connection.setConnectTimeout(3 * 1000);
|
||||||
|
connection.setRequestProperty("connection", "Keep-Alive");
|
||||||
|
connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
|
||||||
|
connection.setRequestProperty("Accept-Charset", "application/json;charset=UTF-8");
|
||||||
|
|
||||||
|
// do connection
|
||||||
|
connection.connect();
|
||||||
|
|
||||||
|
//Map<String, List<String>> map = connection.getHeaderFields();
|
||||||
|
|
||||||
|
// valid StatusCode
|
||||||
|
int statusCode = connection.getResponseCode();
|
||||||
|
if (statusCode != 200) {
|
||||||
|
throw new RuntimeException("Http Request StatusCode(" + statusCode + ") Invalid.");
|
||||||
}
|
}
|
||||||
|
|
||||||
String responseMsg = response.getContentAsString();
|
// result
|
||||||
|
bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
|
||||||
|
StringBuilder result = new StringBuilder();
|
||||||
|
String line;
|
||||||
|
while ((line = bufferedReader.readLine()) != null) {
|
||||||
|
result.append(line);
|
||||||
|
}
|
||||||
|
String responseMsg = result.toString();
|
||||||
|
|
||||||
XxlJobLogger.log(responseMsg);
|
XxlJobLogger.log(responseMsg);
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
XxlJobLogger.log(e);
|
XxlJobLogger.log(e);
|
||||||
return FAIL;
|
return FAIL;
|
||||||
} finally {
|
} finally {
|
||||||
if (httpClient != null) {
|
try {
|
||||||
httpClient.stop();
|
if (bufferedReader != null) {
|
||||||
|
bufferedReader.close();
|
||||||
|
}
|
||||||
|
if (connection != null) {
|
||||||
|
connection.disconnect();
|
||||||
|
}
|
||||||
|
} catch (Exception e2) {
|
||||||
|
XxlJobLogger.log(e2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,61 +4,79 @@ import com.xxl.job.core.biz.model.ReturnT;
|
||||||
import com.xxl.job.core.handler.IJobHandler;
|
import com.xxl.job.core.handler.IJobHandler;
|
||||||
import com.xxl.job.core.handler.annotation.JobHandler;
|
import com.xxl.job.core.handler.annotation.JobHandler;
|
||||||
import com.xxl.job.core.log.XxlJobLogger;
|
import com.xxl.job.core.log.XxlJobLogger;
|
||||||
import org.eclipse.jetty.client.HttpClient;
|
|
||||||
import org.eclipse.jetty.client.api.ContentResponse;
|
|
||||||
import org.eclipse.jetty.client.api.Request;
|
|
||||||
import org.eclipse.jetty.http.HttpMethod;
|
|
||||||
import org.eclipse.jetty.http.HttpStatus;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.io.BufferedReader;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 跨平台Http任务
|
* 跨平台Http任务
|
||||||
*
|
*
|
||||||
* @author xuxueli 2018-09-16 03:48:34
|
* @author xuxueli 2018-09-16 03:48:34
|
||||||
*/
|
*/
|
||||||
@JobHandler(value="httpJobHandler")
|
@JobHandler(value = "httpJobHandler")
|
||||||
@Component
|
@Component
|
||||||
public class HttpJobHandler extends IJobHandler {
|
public class HttpJobHandler extends IJobHandler {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ReturnT<String> execute(String param) throws Exception {
|
public ReturnT<String> execute(String param) throws Exception {
|
||||||
|
|
||||||
// valid
|
|
||||||
if (param==null || param.trim().length()==0) {
|
|
||||||
XxlJobLogger.log("URL Empty");
|
|
||||||
return FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
// httpclient
|
|
||||||
HttpClient httpClient = null;
|
|
||||||
try {
|
|
||||||
httpClient = new HttpClient();
|
|
||||||
httpClient.setFollowRedirects(false); // Configure HttpClient, for example:
|
|
||||||
httpClient.start(); // Start HttpClient
|
|
||||||
|
|
||||||
// request
|
// request
|
||||||
Request request = httpClient.newRequest(param);
|
HttpURLConnection connection = null;
|
||||||
request.method(HttpMethod.GET);
|
BufferedReader bufferedReader = null;
|
||||||
request.timeout(5000, TimeUnit.MILLISECONDS);
|
try {
|
||||||
|
// connection
|
||||||
|
URL realUrl = new URL(param);
|
||||||
|
connection = (HttpURLConnection) realUrl.openConnection();
|
||||||
|
|
||||||
// invoke
|
// connection setting
|
||||||
ContentResponse response = request.send();
|
connection.setRequestMethod("GET");
|
||||||
if (response.getStatus() != HttpStatus.OK_200) {
|
connection.setDoOutput(true);
|
||||||
XxlJobLogger.log("Http StatusCode({}) Invalid.", response.getStatus());
|
connection.setDoInput(true);
|
||||||
return FAIL;
|
connection.setUseCaches(false);
|
||||||
|
connection.setReadTimeout(5 * 1000);
|
||||||
|
connection.setConnectTimeout(3 * 1000);
|
||||||
|
connection.setRequestProperty("connection", "Keep-Alive");
|
||||||
|
connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
|
||||||
|
connection.setRequestProperty("Accept-Charset", "application/json;charset=UTF-8");
|
||||||
|
|
||||||
|
// do connection
|
||||||
|
connection.connect();
|
||||||
|
|
||||||
|
//Map<String, List<String>> map = connection.getHeaderFields();
|
||||||
|
|
||||||
|
// valid StatusCode
|
||||||
|
int statusCode = connection.getResponseCode();
|
||||||
|
if (statusCode != 200) {
|
||||||
|
throw new RuntimeException("Http Request StatusCode(" + statusCode + ") Invalid.");
|
||||||
}
|
}
|
||||||
|
|
||||||
String responseMsg = response.getContentAsString();
|
// result
|
||||||
|
bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
|
||||||
|
StringBuilder result = new StringBuilder();
|
||||||
|
String line;
|
||||||
|
while ((line = bufferedReader.readLine()) != null) {
|
||||||
|
result.append(line);
|
||||||
|
}
|
||||||
|
String responseMsg = result.toString();
|
||||||
|
|
||||||
XxlJobLogger.log(responseMsg);
|
XxlJobLogger.log(responseMsg);
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
XxlJobLogger.log(e);
|
XxlJobLogger.log(e);
|
||||||
return FAIL;
|
return FAIL;
|
||||||
} finally {
|
} finally {
|
||||||
if (httpClient != null) {
|
try {
|
||||||
httpClient.stop();
|
if (bufferedReader != null) {
|
||||||
|
bufferedReader.close();
|
||||||
|
}
|
||||||
|
if (connection != null) {
|
||||||
|
connection.disconnect();
|
||||||
|
}
|
||||||
|
} catch (Exception e2) {
|
||||||
|
XxlJobLogger.log(e2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,61 +4,79 @@ import com.xxl.job.core.biz.model.ReturnT;
|
||||||
import com.xxl.job.core.handler.IJobHandler;
|
import com.xxl.job.core.handler.IJobHandler;
|
||||||
import com.xxl.job.core.handler.annotation.JobHandler;
|
import com.xxl.job.core.handler.annotation.JobHandler;
|
||||||
import com.xxl.job.core.log.XxlJobLogger;
|
import com.xxl.job.core.log.XxlJobLogger;
|
||||||
import org.eclipse.jetty.client.HttpClient;
|
|
||||||
import org.eclipse.jetty.client.api.ContentResponse;
|
|
||||||
import org.eclipse.jetty.client.api.Request;
|
|
||||||
import org.eclipse.jetty.http.HttpMethod;
|
|
||||||
import org.eclipse.jetty.http.HttpStatus;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.io.BufferedReader;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 跨平台Http任务
|
* 跨平台Http任务
|
||||||
*
|
*
|
||||||
* @author xuxueli 2018-09-16 03:48:34
|
* @author xuxueli 2018-09-16 03:48:34
|
||||||
*/
|
*/
|
||||||
@JobHandler(value="httpJobHandler")
|
@JobHandler(value = "httpJobHandler")
|
||||||
@Component
|
@Component
|
||||||
public class HttpJobHandler extends IJobHandler {
|
public class HttpJobHandler extends IJobHandler {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ReturnT<String> execute(String param) throws Exception {
|
public ReturnT<String> execute(String param) throws Exception {
|
||||||
|
|
||||||
// valid
|
|
||||||
if (param==null || param.trim().length()==0) {
|
|
||||||
XxlJobLogger.log("URL Empty");
|
|
||||||
return FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
// httpclient
|
|
||||||
HttpClient httpClient = null;
|
|
||||||
try {
|
|
||||||
httpClient = new HttpClient();
|
|
||||||
httpClient.setFollowRedirects(false); // Configure HttpClient, for example:
|
|
||||||
httpClient.start(); // Start HttpClient
|
|
||||||
|
|
||||||
// request
|
// request
|
||||||
Request request = httpClient.newRequest(param);
|
HttpURLConnection connection = null;
|
||||||
request.method(HttpMethod.GET);
|
BufferedReader bufferedReader = null;
|
||||||
request.timeout(5000, TimeUnit.MILLISECONDS);
|
try {
|
||||||
|
// connection
|
||||||
|
URL realUrl = new URL(param);
|
||||||
|
connection = (HttpURLConnection) realUrl.openConnection();
|
||||||
|
|
||||||
// invoke
|
// connection setting
|
||||||
ContentResponse response = request.send();
|
connection.setRequestMethod("GET");
|
||||||
if (response.getStatus() != HttpStatus.OK_200) {
|
connection.setDoOutput(true);
|
||||||
XxlJobLogger.log("Http StatusCode({}) Invalid.", response.getStatus());
|
connection.setDoInput(true);
|
||||||
return FAIL;
|
connection.setUseCaches(false);
|
||||||
|
connection.setReadTimeout(5 * 1000);
|
||||||
|
connection.setConnectTimeout(3 * 1000);
|
||||||
|
connection.setRequestProperty("connection", "Keep-Alive");
|
||||||
|
connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
|
||||||
|
connection.setRequestProperty("Accept-Charset", "application/json;charset=UTF-8");
|
||||||
|
|
||||||
|
// do connection
|
||||||
|
connection.connect();
|
||||||
|
|
||||||
|
//Map<String, List<String>> map = connection.getHeaderFields();
|
||||||
|
|
||||||
|
// valid StatusCode
|
||||||
|
int statusCode = connection.getResponseCode();
|
||||||
|
if (statusCode != 200) {
|
||||||
|
throw new RuntimeException("Http Request StatusCode(" + statusCode + ") Invalid.");
|
||||||
}
|
}
|
||||||
|
|
||||||
String responseMsg = response.getContentAsString();
|
// result
|
||||||
|
bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
|
||||||
|
StringBuilder result = new StringBuilder();
|
||||||
|
String line;
|
||||||
|
while ((line = bufferedReader.readLine()) != null) {
|
||||||
|
result.append(line);
|
||||||
|
}
|
||||||
|
String responseMsg = result.toString();
|
||||||
|
|
||||||
XxlJobLogger.log(responseMsg);
|
XxlJobLogger.log(responseMsg);
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
XxlJobLogger.log(e);
|
XxlJobLogger.log(e);
|
||||||
return FAIL;
|
return FAIL;
|
||||||
} finally {
|
} finally {
|
||||||
if (httpClient != null) {
|
try {
|
||||||
httpClient.stop();
|
if (bufferedReader != null) {
|
||||||
|
bufferedReader.close();
|
||||||
|
}
|
||||||
|
if (connection != null) {
|
||||||
|
connection.disconnect();
|
||||||
|
}
|
||||||
|
} catch (Exception e2) {
|
||||||
|
XxlJobLogger.log(e2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue