httpjobhandler optimize

This commit is contained in:
xuxueli 2019-02-15 21:04:46 +08:00
parent 5492b70e4b
commit 573facc050
6 changed files with 288 additions and 192 deletions

View File

@ -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>

View File

@ -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);
} }
} }

View File

@ -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);
} }
} }

View File

@ -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);
} }
} }

View File

@ -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);
} }
} }

View File

@ -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);
} }
} }